laravel 多对多多键

问题描述

我有四张桌子

报价

  • id

项目

  • id
  • quotation_id

文章

  • article_id
  • quotation_id

文章条目

  • pivot_item_id
  • pivot_article_id

要么 articleItem 有更多列

我需要item和article之间manyToMany关系的正确语法

目前我有 item 模型

return $this->belongsToMany(Article::class,'articleItem','pivot_item_id','pivot_article_id','id','article_id');

我真的不知道把 quotation_id 放在哪里…… 有可能吗?

解决方法

项目与文章的关系如何?一篇文章是分配给一个项目,反之亦然?更多信息会有所帮助。也许举个例子说明你想要达到的目标。

多对多关系通常是users、roles、role_users等3个表。您所拥有的看起来类似于多态多对多,其中项目和文章与引用共享关系。

,

通过添加解决

->whereHas('quotation',function ($query) {$query->where('id',$this->quotation_id);})

在关系声明的末尾。