我使用以下数据库结构:
电影
– ID
– 标题
导向器
– ID
– 名称
导演
– director_id
– movie_id
模型设置如下:
Movie.PHP
namespace App; use Illuminate\Database\Eloquent\Model; class Movie extends Model { public $table = "movie"; /** * The roles that belong to the user. */ public function directors() { return $this->belongsToMany('App\Director','movie_director'); } }
Director.PHP
namespace App; use Illuminate\Database\Eloquent\Model; class Director extends Model { public $table = "director"; /** * The roles that belong to the user. */ public function movies() { return $this->belongsToMany('App\Movie','movie_director'); } }
因此,电影和导演之间存在多对多的关系.
在电影的详细页面上,我想发布原始电影导演的其他电影.
$movie = Movie::with('directors.movies')->find(1);
这给了我所需的所有数据,但要获得完整的电影列表,我必须循环遍历导演集合,然后循环播放导演中的电影集.是不是有更快/更简单的方法来做到这一点?