【发布时间】:2019-04-24 15:58:25
【问题描述】:
我遇到了 eloquent 的问题,当我打电话给 $unit->assets 时,我收到一个空集合。但是如果我打电话给$unit->assets()->get() - 我会收到一个结果正确的集合。
根据文档,我的关系定义正确,考虑到我在关系对象上调用 get() 时得到正确的结果,这似乎也很明显。
class Unit extends Model
{
protected $table = 'organisation_units';
public function assets()
{
return $this->hasMany(MediaElement::class, 'owner_id');
}
}
class MediaElement extends Model
{
protected $table = 'template_elements';
public function owner()
{
return $this->belongsTo(Unit::class, 'owner_id');
}
}
表结构是
组织单位
标识 |名字
模板元素
标识 |所有者 ID |姓名 |文件名
【问题讨论】:
标签: php laravel eloquent relationship database-normalization