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 |
我假设您使用的是 Venues
到 Showtimes
的一对多关系?
您可以尝试类似的方法:
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.
}
情况:在我的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 |
我假设您使用的是 Venues
到 Showtimes
的一对多关系?
您可以尝试类似的方法:
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.
}