【问题标题】:How to route in Laravel DataTables如何在 Laravel 数据表中路由
【发布时间】:2018-05-29 10:14:56
【问题描述】:

我是 Laravel DataTables 的新手,我正在尝试将我的控制器插入数据表中,但我遇到了异常。

如何完成这项工作?

PS:当我使用像user/items/'$users->id'/control这样的普通路由时,它工作正常,但我想使用像UserController@edit, $user->id这样的路由

public function getPost()
{
    $users= User::where('id', Auth::user()->id);
    return Datatables::of($users)->addColumn('action', function ($user) {
        return '<a href="{ action('UserController@edit', $user->id)}" title="edit" ><i class="fa fa-edit"></i></a>
                &nbsp;&nbsp;';

    })->make(true);     

}

【问题讨论】:

  • 什么数据表?你的数据表在哪里?
  • @dexterb,我认为我不需要在这里发布我的数据表。我想知道是否可以做我在问题中提出的问题
  • 你应该指定你正在使用的数据表包。
  • @dexterb 我正在使用 Yajra 包
  • 这样试试 return ' ';

标签: php laravel datatable


【解决方案1】:

对您的代码的一些提及:

// this will get you only one user
$users = User::where('id', Auth::user()->id);

// therefore it does not make sense to show one user in a table, does it ;-)
return Datatables::of($users)->make(true);     

你的问题:

您需要两项操作:一项用于呈现视图,一项用于通过 Ajax 获取数据表的数据(如果您使用 ServerSide 呈现)

假设您要显示用户列表:

路线

Route::get('users', 'UserController@index');
Route::get('users-dt', 'UserController@indexDataTables')->name('users:dt');

控制器

public function index()
{
    return view('users.index');
}

public function indexDataTables()
{
    $users = User::query();

    return DataTables::eloquent($users)->toJson();
}

用户/index.blade.php

<script>
    $(function() {
        $('#users-table').DataTable({
            processing: true,
            serverSide: true,
            ajax: '{!! route('users:dt') !!}',
            columns: [
                { data: 'name', name: 'name'},
            ],
        });
    })
</script>

【讨论】:

    【解决方案2】:

    您实际上忘记在动作助手的第二个参数上指定参数名称。

    action('UserController@edit', ['user' => $user->id]);
    
    // Assuming that UserController@edit looks like this:
    
    public function edit(User $user) { ... }
    

    【讨论】:

      猜你喜欢
      • 2021-05-27
      • 2018-06-05
      • 2019-06-23
      • 2017-12-13
      • 2018-09-11
      • 2017-07-05
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多