【发布时间】:2020-01-05 19:20:15
【问题描述】:
我有 2 个模型:汽车和条件
Car 和 Condition 具有一对一的多态关系。条件加入汽车:
class Car extends Model
{
// ...
public function condition()
{
return $this->morphOne(Condition::class, 'carable');
}
}
class Condition extends Model
{
// ...
public function carable()
{
return $this->morphTo()
}
}
这将返回以下结构:
{ // car
"id": 1,
"condition": {
"age": "1 year",
"serviced": "yes"
}
}
我还想返回汽车级别的age 属性,即
{ // car
"id": 1,
"age": "1 year",
"condition": {
"age": "1 year",
"serviced": "yes"
}
}
我想通过获取汽车模型中的 condition->age 属性来做到这一点。我尝试在 Car 类中设置以下内容:
protected $appends = ["age"];
protected function getAgeAttribute()
{
return $this->getFinancialAttribute()->getAgeAttribute();
}
以及其他一些变体,但没有成功。有什么办法让我优雅地做到这一点?
【问题讨论】:
-
@dparoli 打错了,现在更新
标签: laravel-5 eloquent eloquent-relationship