Я пытаюсь передать переменную в моем запросе данных javascript моему контроллеру в Laravel. Я передаю его с параметром data:{}
из ajax Datatable, но когда я пытаюсь получить запрос в моем контроллере 'getUsers'
, запрос пуст, почему? Как я могу решить проблему? Я пытаюсь разделить запрос таблицы пользователей и запрос таблицы мусора в одной таблице.
Здесь мой запрос ajax с переменной 'd.trashed' (true или false)
var dataTable = $('#users-table').DataTable({
processing: true,
serverSide: true,
//deferRender: true,
ajax: {
url: config.routes.userUrl,
data: function (d) {
d.src_name = $('input[name=src_name]').val();
d.src_role = $('select[name=src_role]').val();
d.date_from = $('input[name=date_from]').val();
d.date_to = $('input[name=date_to]').val();
d.trashed = trashControl;
}
},
columns: [
{data: 'check', name: 'check', orderable: false, class: 'select-checkbox', targets: 0, 'checkboxes': {
'selectRow': true
}},
{data: 'user_thumb', name: 'user_thumb', orderable: false, searchable: false},
{data: 'name', name: 'name', class: 'user_name'},
{data: 'email', name: 'email', class: 'user_email'},
{data: 'role', name: 'role'},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'},
{data: 'action', name: 'action', orderable: false, searchable: false}
],
order: [[ 5, "desc" ]]
});
И вот мой контроллер, когда я пытаюсь получить переменную $ req-> trashed. В консольном запросе браузера переменная запроса присутствует и имеет значение:
public function getUsers(Request $req){
if($req->trashed == false){
$users = User::select(['id', 'user_thumb', 'name', 'email', 'role', 'created_at', 'updated_at']);
}else{
$users = User::select(['id', 'user_thumb', 'name', 'email', 'role', 'created_at', 'updated_at'])->onlyTrashed();
}
return DataTables::of($users)
->filter(function ($query) use ($req) {
if ($req->has('src_name')) {
$regex = $req->get('src_name');
$query->where('name', 'like', '%'.$regex.'%');
}
if ($req->has('src_role')) {
$regex = $req->get('src_role');
$query->where('role', 'like', '%'.$regex.'%');
}
if($req->get('date_from') != '' && $req->get('date_to') == ''){
$regex = $req->get('date_from');
$query->whereDate('created_at', '=', $regex);
}
if($req->get('date_from') != '' && $req->get('date_to') != ''){
$from = $req->get('date_from');
$to = $req->get('date_to');
$query->whereBetween('created_at', [$from, $to])->get();
}
}, true)
->addColumn('check', function () {
return '';
})
->addColumn('user_thumb', function ($user) {
$guid = $user->user_thumb ? asset($user->user_thumb) : asset($user->placeholder);
return '<img src="'.$guid.'" width="50" class="rounded-circle">';
})
->addColumn('action', function ($user) use ($req) {
$buttons = ($req->trashed == false) ? $this->getActionButtons($user) : $this->getActionTrashedButtons($user);
return $buttons;
})
->editColumn('created_at', function($user){
return $user->created_at ? $user->created_at->format('d M Y') : '';
})
->editColumn('updated_at', function($user){
return $user->updated_at ? $user->updated_at->format('d M Y') : '';
})
->setRowClass(function () {
return 'row-data';
})
->rawColumns(['user_thumb', 'action'])
->make(true);
}
Большое спасибо