可选/手动附加自定义属性?

时间:2017-03-18 21:23:14

标签: laravel laravel-5 laravel-5.3

在文档中跟随此内容:

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();

这显然不起作用,但我想知道是否有办法做到这一点。

1 个答案:

答案 0 :(得分:3)

这应该与makeVisible方法一起使用,只要定义了访问者或者值在表中。

$users = User::all()->makeVisible('is_admin')->toArray();

有关该方法的更多信息可以在链接段落正上方的文档中找到。