Laravel-datatables: id列值错误

创建于 2016-12-09  ·  3评论  ·  资料来源: yajra/laravel-datatables

问题或功能要求摘要

如果未从JavaScript端请求id ,则id列的值有误。

仅当我在dataTables设置columns没有提及id列时,问题才出现。

$('#table').DataTable({
    columns: [
            { data: 'id', name: 'id' }, // ----> Problem appear when i don't mention this column in javascript
            { data: 'user.first_name', name: 'user.first_name' },
            ...
    ]
})

在PHP方面,我有这样的事情

$students = Student::with(['user', ...]);

return Datatables::of($students)
->addColumn('actions', function ($row)
{
    $row->id // ----> Will contain wrong value, it will contain users.id instead of students.id

    return $actions;
})
->make(true);

id将是users.id而不是students.id

系统详情

  • 操作系统
  • PHP版本:5.6
  • Laravel版本5.3.26
  • Laravel数据表6.22.5
documentation question

最有用的评论

我认为这是laravel框架中的错误,解决此问题的方法是在查询中添加select('students.*') ,如此处所述

$students = Student::with(['user', ...])->select('students.*');

return Datatables::of($students)
->addColumn('actions', function ($row)
{
    $row->id // ----> Will contain wrong value, it will contain users.id instead of students.id

    return $actions;
})
->make(true);

所有3条评论

我认为这是laravel框架中的错误,解决此问题的方法是在查询中添加select('students.*') ,如此处所述

$students = Student::with(['user', ...])->select('students.*');

return Datatables::of($students)
->addColumn('actions', function ($row)
{
    $row->id // ----> Will contain wrong value, it will contain users.id instead of students.id

    return $actions;
})
->make(true);

谢谢,现在工作正常

@yajra ,您的回答对我有所帮助,谢谢。 最好删除示例中的注释,因为它与示例相反。 它将包含正确的值。
谢谢

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

t0n1zz picture t0n1zz  ·  3评论

hari-web picture hari-web  ·  3评论

techguydev picture techguydev  ·  3评论

SGarridoDev picture SGarridoDev  ·  3评论

FilipeBorges1993 picture FilipeBorges1993  ·  3评论