2017-08-09 8 views
-1

私はLaraadminでLaravel 5.3を使用しています。私はヘッダーnavbarにGravatarの代わりにアップロードされたプロファイルファイルを表示したいと思います。LaravelのAuthクラスからアップロードされたファイルの場所を取得します

{{ Auth::user()->photo }} 

notifs.blade.php

しかし、私は唯一のアップロード写真のIDを取得する:このコードでは。

LATER EDIT:私はこれを使用していることを参照してください。

use App\Models\Upload; 
$img = Upload::find(Auth::user()->photo); 
$img->path(); 

をしかし、私は私のブレードに得るためにそれを挿入する場所を知りませんが、ファイルのパスを見て... 私は1つを見つけましたquestion same as mine、しかし答えはプログラミングの方法で明確ではありません。

答えて

0

$imgをテンプレート変数として渡すことができます。次に、可能なすべてのメソッドを使用することができます。 Userモデル内

+0

こんにちはWolen。これどうやってするの? – Andrew

0

、またはどちらかあなたが認証モデルとして定義されてきた、私はこのような関数を作成することをお勧め:

public function profilePhotoPath() 
{ 
    $img = Upload::find($this->photo); 
    return $img->path(); 
} 

あなたは、ブレードのテンプレートでこれを参照することができます。

<img src="{{ Auth::user()->profilePhotoPath }}">

注:上記はユーザーが写真を設定していることを前提にしています。写真を処理しないようにPHPを修正する必要があります。

+0

こんにちは。どこにメソッドを挿入すればよいですか? IDKはAuth :: userを処理してファイルを挿入します。 – Andrew

+0

@Andrew認証を変更しなかった場合、それは 'App \ Users'モデルになります。確かめるには、config/auth.phpファイルをチェックし、providers配列でモデルを探します。鉱山は70行目にあり、次のようになっています: '' model '=> App \ Models \ User :: class、 ' – mbozwood

0

他の人がこのような状況について興味があるなら、私は私のブレード・ビュー・ファイルにこのコードで私の問題を解決:

{{ App\Models\Upload::find(Auth::User()->photo)->path() }} 
関連する問題