我的Eloquent模型有一个名为“group_answers”的属性/列,它是其他自定义问题和答案的json表示,例如;
{
"satisfied_with_course":"3",
"satisfied_with_teacher":"5",
"satisfied_with_residence":"2",
}
是否可以更改模型以便为每个键设置其他属性?这可以称为$model->satisfied_with_course
而不是$model->group_answers['satisfied_with_course']
?
答案 0 :(得分:1)
我相信你可以使用Eloquent的Accessor和Mutator选项。所以对于Mutator,你的模型会有这样的东西。
public function setSatisfiedWithCourceAttribute($value)
{
$this->attributes['group_answers']['satisfied_with_course'] = $value;
}
你的Accessor看起来像这样:
public function getSatisfiedWithCourceAttribute($value)
{
return $this->group_answers['satisfied_with_course'];
}
我会尝试设置一些东西,这样我就可以测试并确保它有效。
以下是Accessors和Mutators的文档:https://laravel.com/docs/5.1/eloquent-mutators