Laravel - 向数组添加类属性
Posted
技术标签:
【中文标题】Laravel - 向数组添加类属性【英文标题】:Laravel - add a class attribute to array 【发布时间】:2021-02-11 21:14:33 【问题描述】:在我的 Eloquent 模型中,我添加了一个类属性:
/**
* @return bool
*/
public function getIsViewable()
return $this->isViewable;
这个属性没有保存在数据库中,因为它只是一个计算值。
在我的控制器中,我有一个此对象的 Eloquent 集合,我将其转换为数组:
$images = $query->get();
$images = $images->toArray();
如何将类属性属性添加到数组中的每个图像项?
【问题讨论】:
也许laravel.com/docs/8.x/… 会有所帮助 【参考方案1】:-
方法应该命名为
getMyVariableAttribute
,即。 getIsViewableAttribute
在模型上添加以下protected $appends = ['is_viewable']
,以便在序列化时获取计算属性。
【讨论】:
【参考方案2】:您的方法名称缺少Attribute
部分。将getIsViewable()
重命名为getIsViewableAttribute()
/**
* @return bool
*/
public function getIsViewableAttribute()
return $this->isViewable;
https://laravel.com/docs/8.x/eloquent-mutators#defining-an-accessor
【讨论】:
以上是关于Laravel - 向数组添加类属性的主要内容,如果未能解决你的问题,请参考以下文章