Как получить значение определенного индекса внутри столбца массива с помощью mysql? - PullRequest
0 голосов
/ 14 ноября 2018

This is my database table

$reports = DB::table('attendance_report_details') ->select('*','project_hours[$index_id]') ->get(); Я передаю идентификатор индекса функции.Есть ли способ сделать это так?

1 Ответ

0 голосов
/ 14 ноября 2018

Используйте оператор стрелки (только для MySQL):

$reports = DB::table('attendance_report_details')
    ->select('*', DB::raw("project_hours->'$[".(int) $index_id."]'"))
    ->get();

Или его псевдоним JSON_EXTRACT() (MySQL & MariaDB):

$reports = DB::table('attendance_report_details')
    ->select('*', DB::raw("json_extract(project_hours, '$[".(int) $index_id."]')"))
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...