【问题标题】:Laravel Yajra DataTable datecolumn is not orderable and not searcheableLaravel Yajra DataTable 日期列不可排序且不可搜索
【发布时间】:2021-07-23 02:31:35
【问题描述】:

我有一个User 模型和一个Membership 模型,他们有一对一的关系。

在数据表中,我传递了Membership 模型的expiration 日期和一些User 信息。 但是我无法订购该列,也无法在其中搜索。

我当前在控制器内的query() 函数如下所示:

    public function query(Request $request){

        if ($request->ajax()) {
            $model = User::with('membership');

            return DataTables::eloquent($model)
                ->addColumn('membership', function (User $user){
                    $expiration = Carbon::parse($user->membership['expiration']);
                    return $expiration;
                })
                ->toJson();
        }

        return view('users', [
            'PageName' => 'Users',
        ]);
    }

与此同时,我认为脚本如下所示:

<script>
        $('#usersTable').ready(function () {
            $('table').DataTable({
            processing: true,
            language: {
                processing: '<span>Processing</span>',
            },
            serverSide: true,
            ajax: '{{ route('users.query') }}',
            columns: [
                { data: 'username', name: 'username' },
                { data: 'membership', name: 'membership' },
                { data: 'created_at', name: 'created_at' },
                { data: 'actions', name: 'actions', orderable: false, searcheable: false },
            ],
        });
        });
    </script>

我不知道出了什么问题,希望有人能指出正确的方向。

【问题讨论】:

  • 您正在尝试从数据表中搜索?
  • 是的,我正在尝试使用数据表本身的搜索功能

标签: laravel eloquent datatable eloquent-relationship yajra-datatable


【解决方案1】:

我发现了错误,它在控制器内部的query() 函数中。这是正确的代码:

    public function query(Request $request){

        if ($request->ajax()) {
            $model = User::with('membership');

            return DataTables::eloquent($model)
                ->addColumn('membership', function (User $user){
                    return $user->membership->expiration
                })
                ->toJson();
        }

        return view('users', [
            'PageName' => 'Users',
        ]);
    }

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 2018-03-23
    • 2020-05-07
    相关资源
    最近更新 更多