【问题标题】:Displaying images in aLaravel photo gallery在 aLaravel 照片库中显示图像
【发布时间】:2020-03-13 03:48:18
【问题描述】:

我正在尝试创建照片库。在我之前的问题中:

More info about this question album-photo laravel gallery. error on updating photos in an album

我与另一个用户相关,因为我遇到了同样的问题,我做了一些进一步的调查,发现问题出在 show.blade.php 文件中的这一行

<img class="thumbnail" src="/storage/photos/{{$photo-> album_id}}/{{$photo->photo}}"
alt="{{$photo->title}}">

问题在于 {{$photo-> album_id}} 。如果我用 {{$album->id}} 代替它 它显示图像,但它只显示当前图像而不显示其他图像

在浏览器中,查看它显示的源代码

/storage/photos//theimage.jpg

这里是相关文件

````<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Photo;

class PhotoController extends Controller
{
    //album_id is hidden field
    public function create($album_id){
      return view('photos.create')->with('album_id', $album_id);
    }

    public function store(Request $request){
        $this->validate($request, [
          'title' => 'required',
          'photo' => 'image|max:1999'
        ]);



        $filetostore =$request->file('photo')->getClientOriginalName();

        $path = $request->file('photo')->storeAs('public/photos/'.$request->input('album_id'), $filetostore);

              //upload photo
                $photo = new Photo;
                $photo->album_id = $request->input('album_id');
                $photo->title = $request->input('title');
                $photo->photo = $filetostore;

                $photo->save();

                return redirect('/albums/'.$request->input('album_id'))->with('success','Photo Uploaded');
      }

      public function show($id){
        $photo = Photo::find($id);
        return view('photos.show')->with('photo', $photo);
      }

}````

````@extends('layouts.app')

@section('content')
  <h3> Upload Photo </h3>
  {!!Form::open(['action'=> 'PhotoController@store', 'method' => 'POST', 'enctype'=> 'multipart/form-data'])!!}
  {{Form::text('title','')}}
  {{Form::hidden('album_id', $album_id)}}
  {{Form::file('photo')}}
  {{Form::submit('submit')}}
  {!!Form::close()!!}

@endsection````

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

````class Photo extends Model
{
      protected $fillable = array('album_id','photo', 'title');

      public function album(){
        return $this->belongsTo('App\Album');

      }
}````

我不明白为什么 album_id 没有价值。我检查了很多次文件,但我找不到任何问题:

非常感谢您的帮助!

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您应该dd($photo)logger($photo) 来查看 $photo 属性的真实/最终值。

    还要检查您的数据库表列以确保一切正常,尤其是ablum_id 列。

    【讨论】:

    • 这可能是评论而不是答案
    猜你喜欢
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多