【发布时间】:2018-12-09 11:14:50
【问题描述】:
我在简单化以下雄辩的关系时遇到了问题。它有一种使用 FieldRole 模型的嵌套查询,我认为这是一种不好的模式。如果我有一个原始查询,那么应该使用字段角色的连接和它的名称将它评估为一个查询,但这里它正在执行两个查询,这两个查询可能无法被 eloquent ORM 缓存。
class Team extends Model {
// ...
public function goalkeepers() {
return $this->belongsToMany(
SoccerPlayer::class,
'team_has_players',
'id_teams',
'id_soccer_players'
)->where(
'id_field_role',
FieldRole::where(
'name',
'Goalkeeper'
)
->first()
->getKey()
);
}
}
第二个查询在那里执行
FieldRole::where(
'name',
'Goalkeeper'
)
->first()
->getKey()
有没有办法让它成为一个查询关系?
【问题讨论】:
标签: laravel eloquent relationship