2016-05-11 72 views
1

情况:在我的laravel项目。以下是4表movie_venue数据透视表电影场馆。我需要使用电影模型访问放映时间。Laravel枢轴表口才关系

$movie = $this->model->find($movie_id); 

$venues = $movie->venues; 

使用雄辩关系我可以访问场馆列表。但不能创建一个从电影模型获得放映时间的关系。


| movies  | venues | movie_venue | showtimes  | 
----------------------------------------------------| 
| id   | id  | id   |id    | 
| name  | name | movie_id |movie_venue_id | 
| ....  | .... | venue_id |time   | 

回答

1

我假设你正在使用VenuesShowtimes一到一对多的关系?

你可以尝试这样的:

foreach ($movies->venues as $venue) { 
    foreach ($venue->showtimes as $showtime) { 
     //do something with your showtime. 
    } 
} 

顺便说一句:那岂不是更有意义,从venue,比访问Showtimes开始?

UPDATE

基于您的评论,你可以尝试这样的事:

$movie = Movie::find($id); 
$venues = $movie->venues; 

foreach ($venues->showtimes as $showtime) { 
    // Here you'll get the showtimes per venue. 
} 
+0

我真的用这个移动应用的Web服务。当用户通过ID请求电影时。我需要在最近的场地和每个场地的放映时间发送电影细节。表格电影和场地都有名为movie_venue的数据透视表。它的主键是放映时间表的外键。那么,我如何创建电影之间的关系,然后放映时间。希望这是有道理的 –

+0

我已经更新了我的答案。 – RW24

+0

谢谢你的帮助 –