检索具有身份验证和多态关系的头像用户
retrieve avatar user with auth and polymorphic relation
我尝试在我的用户登录我的应用程序时检索他的头像。
实际上,为了最佳实践,我对图像使用了多态关系 table。
我的图片 table 看起来像 .
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()->image
访问我的用户图像路径
谢谢
由于 morphMany() 允许多重关系,我首先将方法重命名为 images():
public function images()
{
return $this->morphMany('App\Image','imageable');
}
然后,我将在用户模型上创建另一个方法,例如 defaultImage(),这意味着第一张图片:
public function defaultImage()
{
return $this->images()->first();
}
然后,在您的模板中它将变为:
@if(!is_empty(Auth::user()->defaultImage()))
<img alt="" src="{{ Auth::user()->defaultImage()->path }}">
@endif
我尝试在我的用户登录我的应用程序时检索他的头像。
实际上,为了最佳实践,我对图像使用了多态关系 table。
我的图片 table 看起来像 .
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()->image
访问我的用户图像路径谢谢
由于 morphMany() 允许多重关系,我首先将方法重命名为 images():
public function images()
{
return $this->morphMany('App\Image','imageable');
}
然后,我将在用户模型上创建另一个方法,例如 defaultImage(),这意味着第一张图片:
public function defaultImage()
{
return $this->images()->first();
}
然后,在您的模板中它将变为:
@if(!is_empty(Auth::user()->defaultImage()))
<img alt="" src="{{ Auth::user()->defaultImage()->path }}">
@endif