Laravel-datatables: Valor de coluna de id errado

Criado em 9 dez. 2016  ·  3Comentários  ·  Fonte: yajra/laravel-datatables

Resumo do problema ou solicitação de recurso

Os valores da coluna id estão errados quando id não é solicitado do lado do javascript.

O problema só aparece quando não menciono a coluna id na configuração dataTables columns .

$('#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' },
            ...
    ]
})

No lado do PHP, eu tenho algo assim

$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);

O valor de id será users.id vez de students.id

Detalhes do sistema

  • Sistema operacional
  • Versão PHP: 5.6
  • Laravel versão 5.3.26
  • Laravel-Datatables 6.22.5
documentation question

Comentários muito úteis

Eu acho que este é um bug no framework laravel e a solução para corrigir isso é adicionar select('students.*') em sua consulta, conforme documentado aqui .

$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);

Todos 3 comentários

Eu acho que este é um bug no framework laravel e a solução para corrigir isso é adicionar select('students.*') em sua consulta, conforme documentado aqui .

$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);

Obrigado, está funcionando bem agora

@yajra , sua resposta me ajudou, obrigado. Seria melhor se você removesse o comentário, já que em seu exemplo deveria ser o oposto. Ele conterá o valor correto.
obrigado

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ghost picture ghost  ·  3Comentários

jackrsantana picture jackrsantana  ·  3Comentários

vipin733 picture vipin733  ·  3Comentários

NidhiDesai11 picture NidhiDesai11  ·  3Comentários

macnux picture macnux  ·  3Comentários