【发布时间】:2020-02-19 15:05:49
【问题描述】:
我正在使用 Laravel 5.7。我有三个 MySQL 表,名为:movies、movie_directors、movie_actors。我在从这些表中检索数据时遇到问题。看看我的表结构:
movies
|-----------------------------------------------------|
| id | title | release | img_url |
|-----------------------------------------------------|
| 1 | Avengers | 2019 | # |
|-----------------------------------------------------|
| 2 | Avatar | 2009 | # |
|-----------------------------------------------------|
| 3 | Titanic | 1997 | # |
|-----------------------------------------------------|
directors
|-----------------------------------------------------|
| id | movie_id | dir_name | add_date |
|-----------------------------------------------------|
| 1 | 1 | Anthony Russo | 2019/02/18 |
|-----------------------------------------------------|
| 2 | 1 | Joe Russo | 2019/02/18 |
|-----------------------------------------------------|
| 3 | 2 | Cameron | 2019/02/18 |
|-----------------------------------------------------|
actors
|-----------------------------------------------------|
| id | movie_id | act_name | add_date |
|-----------------------------------------------------|
| 1 | 1 | Robert Downey | 2019/02/18 |
|-----------------------------------------------------|
| 2 | 1 | Chris Evans | 2019/02/18 |
|-----------------------------------------------------|
| 3 | 1 | Mark Ruffalo | 2019/02/18 |
|-----------------------------------------------------|
| 4 | 1 | Chris Pratt | 2019/02/18 |
|-----------------------------------------------------|
| 5 | 2 | Worthington | 2019/02/18 |
|-----------------------------------------------------|
| 6 | 2 | Weaver | 2019/02/18 |
|-----------------------------------------------------|
| 7 | 2 | Saldana | 2019/02/18 |
|-----------------------------------------------------|
I Want
|-------------------------------------------------------------------------------------------------------------------------------------------|
| id | title | release | img_url | directors | actors |
|-------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | Avengers | 2019 | # | Anthony Russo, Joe Russo | Robert Downey, Chris Evans, Mark Ruffalo, Chris Pratt |
|-------------------------------------------------------------------------------------------------------------------------------------------|
| 2 | Avatar | 2009 | # | Cameron | Worthington, Weaver, Saldana |
|-------------------------------------------------------------------------------------------------------------------------------------------|
| 3 | Titanic | 1997 | # | |
|-------------------------------------------------------------------------------------------------------------------------------------------|
我正在使用的当前代码:
$movie_list = DB::table('movies')
->select('movies.*', 'movie_directors.*', 'movie_actors.*', 'movie_genres.*', 'movie_links.*', 'movie_types.*')
->join('movie_directors','movies.id', '=','movie_directors.movie_id')
->join('movie_actors', 'movies.id', '=', 'movie_actors.movie_id')
->where('movies.status',1)
->paginate(50)
;
查看代码底部的“我想要”表格。这就是我要的。
请不要附上下面的链接作为已经回答的证据。不符合我的要求
how to retrive data from multiple table in laravel eloquent
【问题讨论】:
-
您是如何尝试检索数据的?你有任何代码吗?
-
@VadimSirbu ,刚刚添加了我正在使用的代码。