Laravel 5 向laravel eloquent集合添加新属性
我想在我雄辩的模型中加入一个额外的计算属性 我想把它作为Laravel 5 向laravel eloquent集合添加新属性,laravel-5,model,eloquent,attributes,Laravel 5,Model,Eloquent,Attributes,我想在我雄辩的模型中加入一个额外的计算属性 我想把它作为$user->avatarImg 我的模型方法看起来像 public function avatarImg() { if($this->hasMedia('avatar')) { $image = $this->getMedia('avatar'); $img = \Intervention\Image\ImageManagerStatic::make($image[0]-&g
$user->avatarImg
我的模型方法看起来像
public function avatarImg()
{
if($this->hasMedia('avatar')) {
$image = $this->getMedia('avatar');
$img = \Intervention\Image\ImageManagerStatic::make($image[0]->getPath())->encode('data-url');
}
elseif ($this->blob->file) {
$img = 'data:image/jpeg;base64,'. base64_encode($this->blob->file);
} else {
$img = '';
}
$this->user->put('avatarImg', $img);
dd($this->user);
return $img;
}
但我所尝试的并不奏效:
Call to a member function put() on null
如何正确执行此操作?看起来您的模型中不存在属性
user
。
如果这是用户模型,请尝试
$this->put('avatarImg', $img);
谢谢你的反馈。以前尝试过的方法也不起作用
调用未定义的方法illumb\Database\Query\Builder::put()
尝试$this->avatarImg=$img$集合=新集合(数组($this))$集合->放置('avatarImg',$img);这样做不会修改模型属性,我在dd(Auth::user())之后会这样做,但我看不到新的属性集,这一点可以帮助您