Проблема: мне нужно использовать «Product DataTable» на странице «Cash».
где «Cash DataTable» уже существует на этой странице.
Я искал эту проблему, но удивлен, что никто не задал ее раньше, поэтому, когда я нашел решение этой проблемы, я решил поделиться своим решением с другими программистами. Надеюсь, это будет полезно для вас.
Сначала позвольте мне сказать, над какими версиями я работаю.
- "laravel/ framework": "^8.40"
- "yajra/laravel-datatables-buttons": "^4.0",
- "yajra/laravel-datatables -html": "^4.0",
- "yajra/laravel-datatables-oracle": "~9.0"
У меня есть маршрут: список
GET|HEAD | cash | cash.index| App\Http\Controllers\CashController@index
GET|HEAD | product | product.index| App\Http\Controllers\ProductController@index
CashController.php
public function index(CashDataTable $cashDataTable)
{
return $cashDataTable->render('cash.index');
}
Cash.index.blade.php
{!! $dataTableCash->table(['id'=>'dataTable']) !!}
{!! $dataTableCash->scripts() !!}
CashDataTable.php
используйте App\Models\Cash;
class CashDataTable extends DataTable
public function dataTable($query)
{
$dataTable = new EloquentDataTable($query);
return $dataTable->addColumn('action', 'cash.datatables_actions');
}
public function html()
{
return $this->builder()
->columns($this->getColumns())
->minifiedAjax()
...
}
...
}
ProductDataTable.php
use App\Models\Product;
class ProductDataTable extends DataTable
public function dataTable($query)
{
$dataTable = new EloquentDataTable($query);
return $dataTable->addColumn('action', 'product.datatables_actions');
}
public function html()
{
return $this->builder()
->columns($this->getColumns())
->minifiedAjax()
...
}
...
}
Подробнее здесь: https://stackoverflow.com/questions/693 ... in-laravel
Мобильная версия