Laravel数据表排序问题

问题描述 投票:1回答:2

我正在使用Laravel-yajra的数据表https://github.com/yajra/laravel-datatables-docs

它与单个表完美配合,但是当我使用雄辩的关系时,事情变得很严重。如下面的代码所述,我在表格中显示用户名,它可以很好地显示用户名,但是当我尝试对User进行排序或只是进行搜索时,它给我一个错误的错误或显示SQL错误。

我有以下雄辩的榜样

class Project extends Model{
     public function client(){
      return $this->belongsTo(Client::class);
     }
}
class Client extends Model{
     public function user(){
          return $this->belongsTo(User::class);
     }
}
class User extends Model{
}

HTML

<table id="table">
    <tbody>
        <tr>
            <td>Name</td>
            <td>Start Date</td>
            <td>Target</td>
            <td>User</td>
        </tr>
    </tbody>
</table>

Javascript

$("#table").DataTable({
        processing: true,
        serverSide: true,
        autoWidth:false,
        ajax: '/projects',
        columns:[
            { data: 'project_name', name: 'project_name' },
            { data: 'start_date', name: 'start_date' },
            { data: 'target', name: 'target' },
            { data: 'client.user.name', name: 'client.user.name' }
        ]
    });

项目负责人

public function projects(){
    return Datatables::of(Proejct::with(['client.user']))
            ->addColumn("client.user.name", function($row){
                return $row->client->user->name;
            })->make(true);
}
php laravel sorting datatable
2个回答
0
投票

它不支持多层次的口才关系排序或搜索。因此,您将获得数据,但无法对其进行搜索或排序。

您的代码似乎还可以,并且可以完美地用于单个级别。

有关此问题的更多详细信息。https://github.com/yajra/laravel-datatables/issues/993


0
投票

返回$ row-> client()-> user()-> name;

© www.soinside.com 2019 - 2024. All rights reserved.