在Laravel 5.2中,假设我在两个模型ManyToMany
和Post
之间存在Tag
关系(为了示例)。但是,它们之间的数据透视表也与另一个表有关系:
posts:
id
name:
tags:
id
name:
posts_tags:
post_id
tag_id
priority_id
priorities
id:
value:
如您所见,posts_tags
代表many-to-many
和Post
之间的Tag
关系。但是,该关系的该实例与One To Many
Priorities
关系
我如何处理在Eloquent中建立这种关系?
答案 0 :(得分:0)
目前,我将ManyToMany
保持在Post
和Tag
之间,但是,我现在只是将priority_id
作为属性存储在数据透视表中。 Priority
只有ID
和Name
,因此我选择在Laravel配置文件中存储Priority
的映射。现在,当我为特定Post
和Tag
提取记录时,我可以将priority_id
作为列拉出并将其映射到我的配置中的值,而不是将此数据存储为数据库中的显式关系:
<?php
return [
'priorities' => [
1 => 'first value',
2 => 'second value',
3 => 'third value',
// etc
]
];