从Laravel的Auth类获取上传的文件位置

时间:2017-08-09 14:59:00

标签: php laravel laravel-5.3 blade

我在Laraadmin中使用Laravel 5.3。我想在标题导航栏中显示上传的个人资料文件而不是Gravatar。使用此代码:

notifs.blade.php

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

但我只能获得上传照片的ID。

LATER EDIT :我知道我必须使用它:

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

但是我不知道在哪里插入它以便在我的刀片视图中查看文件路径... 我发现了一个question same as mine,但答案在编程方式上并不清楚。

3 个答案:

答案 0 :(得分:0)

您可以将$img作为模板变量传递。然后,您将能够使用所有可能的方法。

答案 1 :(得分:0)

在用户模型中,或者您定义为Auth模型的任何一个,我建议创建一个这样的函数:

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

然后,您可以在Blade模板中引用它:

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

注意:上述内容仅适用于用户设置照片的假设。需要修改PHP以处理无照片。

答案 2 :(得分:0)

如果其他人对此情况感兴趣,我在我的刀片视图文件中使用此代码解决了我的问题:

{{ App\Models\Upload::find( Auth::User()->photo )->path() }}