Laravel имеет возможность добавить массив $appends
к каждой модели, делая дополнительные значения автоматически доступными, как если бы они были атрибутами базы данных, путем добавления средств доступа для каждого.
Обычно это очень удобно, за исключением того, что в этом случае мне нужно ТОЛЬКО получить поля, которые я поместил в select()
, потому что DataTables ожидает только то, что я ему отправляю.
Пример:
Item::select(['image', 'name', 'color']);
Возвращает добавленные поля после color
в атрибутах.
Как принудительно исключить добавленные значения при возврате результатов?
Или, в качестве альтернативы, как заставить DataTable игнорировать определенные атрибуты?
Не уверен, что это наименее затратный по времени маршрут.
В настоящее время используется пакет yajra/laravel-datatables
для отправки данных в запрос jQuery DataTables AJAX.
get()
для результатов до перехода к пакетуyajra/laravel-datatables
, который передает его в пакет jQuery DataTables через AJAX. Забыл упомянуть этот пакет. В противном случае это было бы идеальным решением! 30.10.2015$appends
общедоступным в своей моделиItem
, создал переменную$DT = Datatables::of($items);
, а затем использовалcall_user_func_array([$DT, 'removeColumn'], $items->first()->appends);
перед возвратомmake()
. Должен вызываться таким образом сyajra/laravel-datatables-oracle
v3 при передаче массива. 30.10.2015