【发布时间】:2020-10-24 01:28:21
【问题描述】:
我的项目表上有一个多态关系
public function categories(): MorphToMany
{
return $this->morphToMany(Category::class, 'categorizable', 'categorizables', 'categorizable_id', 'category_id')
->withTimestamps();
}
它有效。我得到了预期的对象列表。只是,我数据库中的某些模型总是只有一个类别。
我想避免获取项目列表。我想要直接的对象。
我试过了,但它不起作用:
public function category()
{
return $this->morphToMany(Category::class, 'categorizable', 'categorizables', 'categorizable_id', 'category_id')->first;
}
Call to undefined method App\Models\Category::addEagerConstraints()
我有这样的结果:
{
'id': 1,
'name': 'My name',
'categories': [
{my object category}
]
}
我想要:
{
'id': 1,
'name': 'My name',
'category':
{my object category}
}
我该怎么做?这是多对多的多态关系。
【问题讨论】: