Nilai dari kolom id
salah jika id
tidak diminta dari sisi javascript.
Masalahnya hanya muncul jika saya tidak menyebutkan kolom id
dalam pengaturan 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' },
...
]
})
Di sisi PHP saya punya sesuatu seperti ini
$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);
Nilai id
akan menjadi users.id
alih-alih students.id
Saya pikir ini adalah bug dalam kerangka laravel dan solusi untuk memperbaikinya adalah dengan menambahkan select('students.*')
pada kueri Anda seperti yang didokumentasikan di sini .
$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);
Terima kasih, ini berfungsi dengan baik sekarang
@yajra , jawaban Anda membantu saya, terima kasih. Akan lebih baik jika Anda menghapus komentar karena dalam contoh Anda harus sebaliknya. Ini akan berisi nilai yang benar.
Terima kasih
Komentar yang paling membantu
Saya pikir ini adalah bug dalam kerangka laravel dan solusi untuk memperbaikinya adalah dengan menambahkan
select('students.*')
pada kueri Anda seperti yang didokumentasikan di sini .