Я пытаюсь создать фотогалерею. В моем предыдущем вопросе здесь:
Больше информации об этом вопросе album-photo laravel gallery. ошибка обновления фотографий в альбоме
Я связался с другим пользователем, поскольку у меня возникла та же проблема, я провел дополнительное расследование и обнаружил, что проблема связана с этой строкой в show.blade. php file
<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 не имеет значения. Я проверял файлы много раз, но не могу найти никаких проблем:
Ваша помощь очень ценится!