请问多态多对多关联中间表可以像普通多对多中间表一样添加一些过滤字段吗?
现在有2个表,分别是分类表和附件表。二者关系是:分类表中的政策有多个附件,流程也有多个附件。现在想把二者关联起来。
分类表 cats:
id | policy(政策) | process(流程) |
---|---|---|
int | string | string |
文件表 files:
id | filepath(文件路径) |
---|---|
int | string |
因为系统中其它的表也有可能有附件,所以开始想建多态多对多关联。在使用过程中遇到一个问题未想到好的方法:分类表有 2 个字段分别都有多个附件,我查了文档没有找到方法区分。
然后我就想用普通的多对多,这样可以在中间表多加一个字段用来过滤。但是这个文件表肯定还有其它的表去用,所以我觉得可能还是多态好一些。但是如果其它的用多态,这个表用普通的关联就很不和谐。所以想请教大家,如果用多态关联,可以在多态中间表加个字段来区分吗?
下面是文档中关于普通多对多关联过滤的方法:
通过中间表过滤关系
在定义关系时,你还可以使用 wherePivot
和 wherePivotIn
方法来过滤 belongsToMany
返回的结果:
return $this->belongsToMany('App\Role')->wherePivot('approved', 1);
return $this->belongsToMany('App\Role')->wherePivotIn('priority', [1, 2]);
请问多态多对多有类似的方法吗?或者像上面的需求,各位有什么好的办法,谢谢