Php Laravel数据表排序问题
我正在使用yajra的Laravel-data表 它在一张桌子上工作得非常完美,但当我使用它的雄辩关系时,事情变得严肃起来。如下面代码中所述,我在表中显示用户名, 它显示用户名非常好,但当我尝试按用户排序或简单搜索时,它会给我一个错误或显示SQL错误 我有以下雄辩的模型Php Laravel数据表排序问题,php,laravel,sorting,datatable,Php,Laravel,Sorting,Datatable,我正在使用yajra的Laravel-data表 它在一张桌子上工作得非常完美,但当我使用它的雄辩关系时,事情变得严肃起来。如下面代码中所述,我在表中显示用户名, 它显示用户名非常好,但当我尝试按用户排序或简单搜索时,它会给我一个错误或显示SQL错误 我有以下雄辩的模型 class Project extends Model{ public function client(){ return $this->belongsTo(Client::class);
class Project extends Model{
public function client(){
return $this->belongsTo(Client::class);
}
}
HTML
返回$row->client()->user()->name 它不支持多级雄辩的关系排序或搜索。因此,您将获得数据,但无法对其进行搜索或排序 您的代码似乎还可以,它可以完美地用于单个级别 下面是关于这个问题的更多细节。
您收到了什么错误?两个问题1)排序时出现重复行,2)尝试搜索名称列时未发现错误
class Client extends Model{
public function user(){
return $this->belongsTo(User::class);
}
}
class User extends Model{
}
<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);
}