我尝试在登录我的应用时检索用户的头像。
实际上,对于最佳实践,我使用与图像表的多态关系。
我的图片表看起来像。
Schema::create('images', function(Blueprint $table)
{
$table->increments('id');
$table->string('path');
$table->string('alt');
$table->string('title');
$table->string('link');
$table->integer('imageable_id');
$table->string('imageable_type');
$table->timestamps();
});
我的路径与我的头像和imageable_id user_id关系有关,而imageable_type与关联的模型(用户)有关。
但是当我检查用户是否是日志时以及尝试使用
访问我的对象后@if(Auth::user()->image )
<img alt="" src="{{????????}}">
@endif
在我的模型中,我有这样的关系
public function image(){
return $this->morphMany('Image','imageable');
}
如何使用Auth :: user() - &gt; image
访问我的用户图像路径由于
答案 0 :(得分:1)
由于morphMany()允许多个关系,我首先将方法重命名为images():
public function images()
{
return $this->morphMany('App\Image','imageable');
}
然后,我会在User模型上创建另一个方法,例如defaultImage(),这意味着第一个图像:
public function defaultImage()
{
return $this->images()->first();
}
然后,在您的模板中,它将成为:
@if(!is_empty(Auth::user()->defaultImage()))
<img alt="" src="{{ Auth::user()->defaultImage()->path }}">
@endif