JQuery DataTables: строки со значениями NULL отфильтровываются в серверном режиме.Jquery

Программирование на jquery
Ответить
Anonymous
 JQuery DataTables: строки со значениями NULL отфильтровываются в серверном режиме.

Сообщение Anonymous »

Я использую Laravel с DataTables в режиме serverSide: true и библиотекой PHP DataTables Editor для отображения списка пользователей.

Контекст
  • Таблица: пользователи
  • Проблемный столбец: Last_name (может быть NULL)
  • Когда Last_name = NULL → Вся строка не отображается в DataTable
  • Интерфейс показывает: "1 строка отфильтрована" (даже без активного фильтра)
Фронтенд (Blade + JS)

Код: Выделить всё



Last Name
First Name
Username
Role





let datatable = $('#datatable').DataTable({
dom: 'Blfrtip',
buttons: ['searchBuilder'],
order: [[2, 'asc']],
processing: true,
serverSide: true,
ajax: {
url: '{{ route('settings.users.fetch') }}',
type: 'POST',
dataSrc: function (json) {
if (json.error) toastr.error('An error occurred');
return json.data;
}
},
columns: [
{ data: 'last_name' },
{ data: 'first_name' },
{ data: 'username' },
{ data: 'role' }
]
});

Бэкенд (контроллер Laravel)

Код: Выделить всё

public function fetch(Request $request)
{
$pdo = DB::connection()->getPdo();
$db = new Database(["type" => "Sqlite", "pdo" => $pdo]);

$editor = Editor::inst($db, 'users', 'id')->fields(
Field::inst('last_name'),
Field::inst('first_name'),
Field::inst('username'),
Field::inst('role')
);

return new JsonResponse($editor->process($request->all())->data());
}
Что я пробовал
  • setFormatter(fn($v) => $v ?? '—') → строка все равно исчезает
  • defaultContent: '-' в столбцах → нет эффекта
Я думаю, что редактор DataTables автоматически отфильтровывает строки с нулевыми значениями во время обработки на стороне сервера, возможно, из-за того, как он обрабатывает нулевые значения в логике поиска.
Заранее благодарим за помощь!

Подробнее здесь: https://stackoverflow.com/questions/798 ... -side-mode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»