Laravel-datatables: 잘λͺ»λœ ID μ—΄ κ°’

에 λ§Œλ“  2016λ…„ 12μ›” 09일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: yajra/laravel-datatables

문제 μš”μ•½ λ˜λŠ” κΈ°λŠ₯ μš”μ²­

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-Datatables 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 λ“±κΈ‰