追加自定义属性 optionally/manually?

Append custom attribute optionally/manually?

在文档中遵循以下内容:

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

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

这应该与 makeVisible 方法一起使用,只要定义了访问器或值在 table.

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

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