无法通过一对一的关系从公用文件夹中获取图像

时间:2017-10-26 09:26:39

标签: php laravel one-to-one

我在从公共文件夹中获取图像时遇到一些问题,在数据库中我有Class表和UserImage表,它们以一对一的关系连接在一起。我尝试过使用它,但它只是给我留下空白的结果。

以下是代码:

HomeController中:

personal_info

test.blade.php (我在哪里展示图片)

public function getInfo($id) {
    $data = personal_info::where('id', $id)->get();
    $data3 = UserImage::where('user_id', $id)->get();
    return view('test',compact('data', 'data3'));

Create1Controller:

@foreach ($data as $object)
    <b>Name: </b>{{ $object->Name }}<br><br>
    @foreach ($data3 as $currentUser)
    <img src="{{ asset('public/images/' . $currentUser->name ) }}">
    @endforeach
    @if ($data3->count())
        @foreach ($data3 as $currentUser)
        <a href="{!! route('user.upload.image', ['id' => $currentUser->user_id]) !!}">
            <button class="btn btn-primary">
                <i class ="fa fa-plus"></i>Upload Images
            </button>
        </a>
        @endforeach
    @else
        <a href="{!! route('user.upload.image', ['id' => $object->id]) !!}">
        <button class="btn btn-primary">
            <i class ="fa fa-plus"></i>Upload Images
        </button>
    @endif
@endforeach

2 个答案:

答案 0 :(得分:2)

由于您没有将资产保存到存储中并保存到公共目录中,因此可以使用url()方法。如果您需要坚持使用asset(),则需要创建一个从存储目录到公共目录的符号链接,解释为here,并使用存储目录来保存您的资产。

答案 1 :(得分:0)

如我所见,保存的图像名称与$ currentUser-&gt;名称之间没有关系
您能否显示用于保存图像的代码?在那里你必须用当前用户名保存图像。
这里的错误是:$image->move($destinationPath, $name);