Отображение данных Json в виде Laravel с помощью Joins - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь извлечь данные из базы данных в представление лезвия laravel с помощью таблицы связей объединения.

в моем случае у меня есть две таблицы с именами interesting_courses и courses.Здесь у некоторых студентов может быть много интересных курсов.Поэтому courses_id хранится как json array в базе данных следующим образом.

["1","11","15","16"] 

, но мне нужно присоединиться к таблице курсов, чтобы получить ассоциированное название курса следующим образом.

["Hospitality","Business Management","Auto Mobile","Health Care"]

Нижемой контроллер

$intresting_courses = DB::table('intresting_courses')
                            ->join('courses','courses.id','=','intresting_courses.courses_id')
                            ->where('intresting_courses.youth_id',$id)
                            ->first();

Как мне присоединиться к столам.

1 Ответ

0 голосов
/ 15 февраля 2019

Нет способа, которым вы можете присоединиться к нему в запросе изначально.

Решение состоит в том, чтобы написать два запроса

select * from intresting_courses where youth_id = ? limit 1

select * from courses where id in (1, 2, 3, 4, 5, ...)

таким образом, чтобы вы могли получать курсы, которые интересуют студента.

Здесь код laravel для thosesзапросы.

$intresting_courses = DB::table('intresting_courses')
                        ->where('intresting_courses.youth_id', $id)
                        ->first();

$courses = DB::table('courses')
             ->whereIn('id', json_decode($intresting_courses->courses_id))
             ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...