gpt4 book ai didi

php - Laravel 数据表 - 一个 View 上的多个表

转载 作者:行者123 更新时间:2023-12-03 23:18:01 24 4
gpt4 key购买 nike

我使用 laravel 5.4 和最新版本的 yajra/laravel-datatables 作为服务。

我在页面上使用一个数据表可以正常工作。我想创建一个不相关表的仪表板。用户、产品、预订等

我希望我的 Controller 看起来像这样:

public function index(ProductsDataTable $productDatatable, UsersDataTable $userDatatable)
{
$user = Auth::user();

$products = $user->products;

return view('admin.dashboard', compact('products', 'user', 'productDatatable', 'userDatatable'));
}

在我的 Blade 上做
@section('content')
{!! $productDatatable->table() !!}
{!! $userDatatable->table() !!}
@endsection

@push('scripts')
{!! $dataTable->scripts() !!}
@endpush

然而这显然行不通。我不确定如何继续。

我尝试为每个数据表创建一个路由,但不确定如何从我的仪表板 Controller 中引用它。

最佳答案

我确信在一个 View 中实现多个表有更好的方法,但这是我在查看 this 后想到的。 .评论/改进将不胜感激。

Controller

Controller 将在 index() 中呈现表一次方法,但将从 getUsers() 中获取数据方法或 getProducts()方法。

// DashboardController.php

public function index(UsersDataTable $usersDataTable, ProductsDataTable $productsDataTable)
{
return view('dashboard.index', [
'usersDataTable' => $usersDataTable->html(),
'productsDataTable' => $productsDataTable->html()
]);
}

//Gets Users JSON

public function getUsers(UsersDataTable $usersDataTable)
{
return $usersDataTable->render('admin.dashboard');
}

//Gets Products JSON

public function getProducts(ProductsDataTable $productsDataTable)
{
return $productsDataTable->render('admin.dashboard');
}

路线

添加两个额外的路由,用于获取用户和项目数据。
// web.php

Route::get('/', 'DashboardController@index')->name('dashboard.index');
Route::get('projects', 'DashboardController@getProjects')->name('dashboard.projects');
Route::get('users', 'DashboardController@getUsers')->name('dashboard.users');


数据表服务类

对于 UsersDataTableProductsDataTable服务类,包括我们上面创建的相关路由。
// UsersDataTable.php

public function html()
{
return $this->builder()
->minifiedAjax( route('dashboard.users') );
}

查看
// dashboard.blade.php

@section('content')

{!! $productsDataTable->table() !!}
{!! $usersDataTable->table() !!}

@endsection

@push('scripts')

{!! $productsDataTable->scripts() !!}
{!! $usersDataTable->scripts() !!}

@endpush

关于php - Laravel 数据表 - 一个 View 上的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45633297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com