【发布时间】: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