0
我有一个名为User的模型,它返回用户的许多属性,包括像'追随者'这样的一些数组。如何在Laravel 5.2中获取模型的简要版本?
class User extends Authenticatable
{
protected $appends = [
'followers'
];
public function followers()
{
$followers = ShortUser::join('friends', function ($join){
$join->on('users.id', '=', 'friends.user_id')->where('friends.friend', '=', $this->id);
});
return $followers;
}
public function getFollowersAttribute()
{
if (!$this->followers())
return null;
return $followers = $this->followers()->get();
}
}
我希望能够有时与所有细节检索用户(因为它是现在)
User::where('user_id', $user_id)
,有时用较少的细节(只简单)进行检索,排除,对例如属性“关注者”,使用:
User::where('id', $user_id)->brief()
//or
User::where('id', $user_id)->exclude(['followers'])
我该如何做到这一点?
我试图用一个范围的方法来设置
$this->appends['followers']=NULL;
,但它似乎没有工作,财产不会被修改。