2019-02-15 03:48
浏览 492


I'm trying to retrieve data from database to laravel blade view with join associate table.

in my case I have two tables called interesting_courses and courses. here some student can have many interesting courses. Therefore courses_id stored as json array in database as follows.


but I need to join the courses table to get the associate course name as follows.

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

Below is my controller

$intresting_courses = DB::table('intresting_courses')

How can I join the tables.

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqyat62284 2019-02-15 04:28

    There is no way you can join it in query natively.

    The solution is to write two queries

    select * from intresting_courses where youth_id = ? limit 1
    select * from courses where id in (1, 2, 3, 4, 5, ...)

    that way you can get courses that student intresting.

    Here the laravel code for thoses queries.

    $intresting_courses = DB::table('intresting_courses')
                            ->where('intresting_courses.youth_id', $id)
    $courses = DB::table('courses')
                 ->whereIn('id', json_decode($intresting_courses->courses_id))
    解决 无用
    打赏 举报

相关推荐 更多相似问题