如何调用所有模型属性,包括定义为访问者/变更器的属性?
目前我正在创建像;;
这样的访问者/变种者public function setSatisfiedWithQualityOfCourseAttribute($value)
{
$this->attributes['group_answers']['satisfied_with_quality_of_course'] = $value;
}
public function getSatisfiedWithQualityOfCourseAttribute()
{
if (isset($this->group_answers['satisfied_with_quality_of_course'])) {
return $this->group_answers['satisfied_with_quality_of_course'];
}
return null;
}
我可以通过类似$response->satisfied_with_quality_of_course
之类的东西从我的控制器中调用它们,但我需要能够在不明确地一次调用它们的情况下返回所有这些内容。我能这样做吗?
我需要调用所有“真实”属性和所有“访问者”。
答案 0 :(得分:1)
您可以使用$response->attributesToArray()
获取所有属性的数组,包括自定义访问者。
您也可以使用$response->toArray()
来获取已加载的关系及其属性。
如果您的自定义访问者定义了新的伪属性(而不是覆盖现有的数据库列),您还应该将它们添加到$appends
数组中。
protected $appends = ['satisfied_with_quality_of_course'];