Laravel 调整 table eloquent 关系

Laravel Pivot table eloquent relationships

情况:在我的laravel项目中。下面是 4 个表movie_venue电影场馆枢轴table。我需要使用电影模型访问放映时间。

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

$venues = $movie->venues;

使用 eloquent 关系我可以访问场地列表。但是无法创建关系以从电影模型获取放映时间。


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

我假设您使用的是 VenuesShowtimes 的一对多关系?

您可以尝试类似的方法:

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

顺便说一句:从 venue 开始并访问 Showtimes 不是更有意义吗?

更新

根据您的评论,您可以尝试这样的操作:

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

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