【发布时间】: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 没有价值。我检查了很多次文件,但我找不到任何问题:
非常感谢您的帮助!
【问题讨论】: