[英]Laravel - ManyToMany Pivot Table With Other Relationship
在Laravel 5.2中,可以说我在Post
和Tag
两个模型之间有一个ManyToMany
关系(为示例起见)。 但是,它们之间的数据透视表也与另一个表有关系:
posts:
id
name:
tags:
id
name:
posts_tags:
post_id
tag_id
priority_id
priorities
id:
value:
如您所见, posts_tags
表示Post
和Tag
之间many-to-many
关系。 但是,这种关系的实例与Priorities
也存在One To Many
关系
我该如何在Eloquent中建立这种关系?
暂时,我将我的ManyToMany
保持在Post
和Tag
之间,但是,我现在只是将priority_id
作为属性存储在数据透视表上。 Priority
只有一个ID
和一个Name
,因此我选择将Priority
的映射存储在Laravel配置文件中。 因此,现在,当我提取特定Post
和Tag
记录时,我可以仅将priority_id
提取为列并将其映射到配置中的值,而不是将这些数据作为显式关系存储在数据库中:
<?php
return [
'priorities' => [
1 => 'first value',
2 => 'second value',
3 => 'third value',
// etc
]
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.