鉴于下一个模型并使用Laravel 5.2:
我想在Entry和Asset 之间建立关系但是我无法用 HasManyThrough 来实现,因为'属性有一个属性'。这里是目前的关系:
参赛模式
public function attributes()
{
return $this->hasMany(EntryAttribute::class);
}
属性模型
public function asset()
{
return $this->hasOne(Asset::class, 'uuid', 'asset_uuid');
}
资产模型
public function attribute()
{
return $this->hasMany(EntryAttribute::class, 'asset_uuid', 'uuid');
}
关于如何进行资产关系的任何想法如下:
$entry->assets()
提前致谢。
答案 0 :(得分:0)
您可以使用hasManyThrough
类中的Entry
,如下所示:
public function assets(){
return $this->hasManyThrough(
Asset::CLASS,
EntryAttribute::CLASS,
'entry_id', // Foreign key of your attribute table
'asset_uuid', // Foreign key of your asset table
'id', // Local id in your entry table
'uuid', // Local id in your entry attribute table
);
}