这个视频我们再去看一下怎么样利用模型之间的多对多的关系,其实方法跟使用一对多的关系是一样的。比如我们要找出跟某部电影相关的所有的人物 ...
先打开 MovieController.php 这个控制器 ... 我们先在 index 这个方法里,去试一下 ... 注释掉这里面的几行代码 ...
比如我们要找出 id 号是 1 的电影相关的所有的人物 ... Movie ... .find(1) ... 再调用它的 people 这个属性 ... 这个属性就是在 Movie 模型里面,我们定义的那个得到相关人物的方法的名字 ...
给得到的结果起个名字 ... 然后再把它输出到屏幕上看一下 ..
$data = Movie::find(1)->people;
print_r($data);
(#浏览器)这里显示的都是 id 号是 1 的电影相关的人物 ... (#返回)在它后面,我们可以再加上一个 toArray 方法 ... 把得到的结果转换成数组的形式 ...
$data = Movie::find(1)->people->toArray();
(#浏览器)这样会更清楚一点 ..
想得到某个人物参与的所有的电影作品,我们可以这样 ... 使用 People 模型 ... 用 find 方法先找出这个人物 ... 比如 id 号是 1 的这个人物 ..
然后再访问它的 movies 这个属性 ... 这个属性就是我们在 People 模型里面,定义的那个得到所有相关电影的方法的名字 ...
$data = People::find(1)->movies->toArray();
(#浏览器)
返回的结果就是 id 号是 1 的这个人物所有的参与过的电影。