0

我嘗試檢索我的用戶的頭像,當他登錄我的應用程序。檢索與身份驗證和多態關係的頭像用戶

實際上,對於最佳實踐,我使用圖像表的多態關係。

我的圖像表看起來像。

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'); 
} 

如何訪問我),我與驗證的用戶圖像的路徑::用戶( - >圖像

感謝

回答

1

由於MO rphMany()允許的多個關係,還是先重命名)的方法進行的圖像(:

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