url = route('Admin.Shop.PriceLists.index'); } public function query(PriceList $model) { $model = $model->with(['sale_channel','price_list_values']); $model = self::filterByTariff($model); return self::buildQuery($model); } public static function filterByTariff($model, $tariff_id = false) { $tariff_id = $tariff_id ? $tariff_id : self::isFilteredByField('tariff_id'); return $tariff_id ? $model->byTariff($tariff_id) : $model; } public function modifier($datatables) { $datatables ->editColumn('status', function (PriceList $price_list) { return PriceLists::getStatus($price_list['status_id']); }) ->editColumn('tariff_id', function (PriceList $price_list) { return view('Admin.Shop.PriceLists.partials.table-prices', ['prices' => $price_list['price_list_values']]); }) ->rawColumns(['tariff_id','action']); return parent::modifier($datatables); } protected function getColumns() { return [ Column::make('status_id')->data('status')->title('etat'), Column::make('name')->title('Nom'), Column::make('sale_channel.name')->title('Canal de vente'), Column::make('tariff_id')->title('Liste de prix'), self::makeColumnButtons(), ]; } }