共有3个实体:
这是关键关系:
// Memo belongsToMany ForeignCitizen
public function foreignCitizens()
{
return $this->belongsToMany(ForeignCitizen::class)
->withPivot('foreign_citizen_revision_id')
->withTrashed();
}
问题是,当我创建一个Memo
时,其中包含许多外国公民,并且每个外国公民都有许多修订版本。因此,我还存储了创建Memo
的修订版ID。
例如,如果一个公民有5个修订版本,而我创建了一个新的Memo
,它将与第五个修订版本下的一个公民建立联系。
一切正常,但这是问题:
如何获得类似$memo->foreignCitizenRevisions
的信息?我可以进行一些手动数据库查询,但是我希望使用Eloquent来获取每个备忘的修订集。
以下是数据透视表的外观:
答案 0 :(得分:0)
尝试
Memo::with(foreignCitizens => function ($query) {
$query->max('updated_at')->groupBy('foreign_citizen_revision_id');
}])->get();