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