Laravel5.1 框架关联模型之后操作实例分析(3)
批量追加:
public function getIndex() { $post = Post::findOrFail(3); // 第一个参数也可以接收一个数组。 $post->tags()->attach([2, ['expires' => true], 4, 6]); }
2.4 卸载一个关系(多对多关系)
detach方法于attach方法相反,detach方法会将关联关系删除:
public function getIndex() { $post = Post::findOrFail(3); $post->tags()->detach(1); }
批量卸载:
public function getIndex() { $post = Post::findOrFail(3); $post->tags()->detach([1, 3, 5]); }
2.5 同步关系
同步关系可谓是非常方便,具体的看注释吧,写的很清楚:
public function getIndex() { // 取出id为2的tag,此时它只和id为3的post有关联。 $tag = Tag::findOrFail(2); // 同步:传入一个id数组,存在于此数组的id都会被追加关系,而不在此数组中的id模型关联 都会被移除。 $tag->posts()->sync([2, 4, 5]); }
注意:sync方法也可以传入第二个参数,也是数组类型 以便更新中间表中的其他列。由于语法跟前面几个方法一样,就不在重复写了。
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。