详细解释Laravle雄辩的多对多模型关联示例
什么是多对多关联?
雄辩中的模型是一个数据表,数据表之间通常有关联。多对多关联意味着两个表之间有许多关联。例如,一个表存储用户数据。
另一个表存储物品的信息,
一个用户可以收藏多篇文章,一篇文章可以被多个用户收藏,这叫做多对多关联。
如何使用多对多关联?
使用雄辩的多对多关联,可以非常方便地查询、修改、添加和删除两个模型之间的关联。
多对多关联除了两个相互关联的表之外,还需要一个表(数据透视表)来记录关联。一般记录两个型号的ID就够了
给我一个栗子
我们数据库中的三个表是用户表
文章
文章_收藏
我们需要创建两个模型,但是中间的表模型不是必需的
?phpnamespace App使用照明\数据库\雄辩\模型;类用户扩展实体{}?phpnamespace App使用照明\数据库\雄辩\模型;Classarticles extendentity {}通过在模型中编写一个方法来调用belongToMany()方法并返回结果来获取数据。
belongToMany()传入的第一个参数是对应的表,第二个参数是中间表的表名,第三个参数是中间表中当前模型的键名,第四个参数是中间表中关联模型的键名。
?phpnamespace App使用照明\数据库\雄辩\模型;Class user扩展实体{ public function articles(){ return $ this-belongtomany(article :3360 class,' article _ collections ',' user _ id ',' article _ id')},这样我们就可以通过article方法获取用户收集的文章
$ articles=user : find(1)-articles()-get();使用where(),orderBy()和其他方法向查询的数据添加条件
用attach()方法添加关联,例如,让id为1的用户收集id为1的文章。
$ user=user : find(1);$user-articles()-attach(1)使用detach()方法删除关联,这与attach()相同。
好了,这是一些基本的知识,关于Laravel雄辩的多对多联想。
摘要
以上是边肖介绍的Laravle雄辩的多对多模型关联示例的详细说明,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:详细解释Laravle雄辩的多对多模型关联示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。