我正在尝试使用联接关联表从数据库检索数据到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();
如何加入表格。
答案 0 :(得分:0)
您无法将其本地加入查询中。
解决方案是编写两个查询
select * from intresting_courses where youth_id = ? limit 1
select * from courses where id in (1, 2, 3, 4, 5, ...)
通过这种方式,您可以获得学生感兴趣的课程。
$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();