I'm trying to get the value of an input type text to use it for the where clause in my Laravel controller query.
here is a part of the ajax code:
$(function() {
$('#data-table').DataTable({
"processing": true,
"serverSide": true,
"ajax":{
"url": "{{ route('item_data_table') }}",
"dataType": "json",
"type": "POST",
"data":{ _token: "{{ csrf_token() }}"}
},
...
...
...
});
});
as for my trial, I tried changing:
"data":{ _token: "{{ csrf_token() }}"}
into:
"data":{value: $("input[name=categoryname]").val()}
Then in my controller, I have this part of query code, Tried it like this:
public function dataTable(Request $request)
{
$columns = [
1 => 'id',
2 => 'item_name',
3 => 'item_category_name',
4 => 'item_detail_category_name',
];
$categoryname = Input::get('value');
$totalData = MItem::count();
$totalFiltered = $totalData;
$limit = request()->length;
$start = request()->start;
$order = $columns[request()->order[0]['column']];
$dir = request()->order[0]['dir'];
$items = MItem::select('m_item.id',
'm_item.item_name',
'm_item_category.item_category_name',
'm_item_detail_category.item_detail_category_name'
)
->join('m_item_category', 'm_item.item_category_id', 'm_item_category.id')
->join('m_item_detail_category', 'm_item.item_category_detail_id', 'm_item_detail_category.id');
if($categoryname) {
$items->where('m_item_category.item_category_name', 'like', '%'.$userID.'%');
}
$items->offset($start)
->limit($limit)
->orderBy($order, $dir)
->get();
$data = [];
...
...
...
}
I used $cateogryname for my where clause but cannot succesfully do it.
How can be the code done?