在文档中跟随此内容:
https://laravel.com/docs/5.3/eloquent-serialization#appending-values-to-json
class User extends Model
{
protected $appends = ['is_admin'];
public function getIsAdminAttribute()
{
return $this->attributes['admin'] == 'yes';
}
}
是否可以在查询中手动附加我的自定义属性?
在某些情况下,我不需要在我的JSON中提供此信息,而是我可以在查询中手动附加自定义属性,例如:
$users = User::append('is_admin')
->get();
这显然不起作用,但我想知道是否有办法做到这一点。
答案 0 :(得分:3)
这应该与makeVisible
方法一起使用,只要定义了访问者或者值在表中。
$users = User::all()->makeVisible('is_admin')->toArray();
有关该方法的更多信息可以在链接段落正上方的文档中找到。