情境:在我的拉勒维尔项目中。下面是四张桌子。movie_venue是电影和场地的透视表。我需要使用电影模型访问showtimes。

$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           |

最佳答案

我想你是在用一对多的关系?
你可以试试这样的方法:

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

顺便问一下:从Venues开始比访问Showtimes更有意义吗?
更新
根据您的评论,您可以尝试以下操作:
$movie = Movie::find($id);
$venues = $movie->venues;

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

关于php - Laravel Pivot表 Eloquent 关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37156867/

10-11 12:51