如何使用->;附加。Laravel中受保护的$appends
如何将属性附加到模型的一个查询而不是所有查询。 我知道您可以通过添加如何使用->;附加。Laravel中受保护的$appends,laravel,laravel-5,Laravel,Laravel 5,如何将属性附加到模型的一个查询而不是所有查询。 我知道您可以通过添加 protected $appends = ['icon']; public function getIconAttribute(){ return Gravatar::src($this->email, 100).'&r=g&d=mm'; } 我只想为一个查询添加它 $usernames = User::where('username', 'LIKE', '%'.$request->ge
protected $appends = ['icon'];
public function getIconAttribute(){
return Gravatar::src($this->email, 100).'&r=g&d=mm';
}
我只想为一个查询添加它
$usernames = User::where('username', 'LIKE', '%'.$request->get('search').'%')
->append('icon')->get();
但这会导致调用undefined方法illumb\Database\Query\Builder::append()的错误
我能看出方法,但我觉得自己很笨
方法是Model
的一部分,而不是Builder
,因此必须为每个模型调用它
你可以有这样的东西:
$usernames = User::where('username', 'LIKE', '%' . $request->get('search') . '%')
->get()
->map(function ($user) {
return $user->append('icon');
});
=Laravel 5.4
已在5.4中引入,因此您现在可以执行以下操作:
$usernames = User::where('username', 'LIKE', '%' . $request->get('search') . '%')
->get()
->map->append('icon');
希望这有帮助 我看到了这一点,这让我觉得你可以在查询中做到吗?@whoacowboy,你当时让我充满了希望。不,那个拉取请求通常是添加了append()
方法。这太糟糕了,但我感觉不那么愚蠢了。谢谢你的帮助@whoacowboy我刚刚试着做一个拉式请求来获取附加
添加到集合中,但是Taylor没有。很好,很好的尝试。Laravel,一个开源ish框架。发布一个链接,我将+1它。