Laravel добавить сообщение - PullRequest
1 голос
/ 28 мая 2020

Я новичок в Laravel Framework - я хочу добавить сообщение с изображением (Загрузка файла) и получаю эту ошибку:

Неопределенная переменная: fileNameToPost

Итак, это контроллер моего блога:

public function add(Request $request)
       { 

        $blog= new blog;

        $blog-> title = $request['title'];
        $blog ->body = $request['description'];
        $blog->author_id=$request['articlemed'];


        if($request->hasFile('photo')){
            // Get filename with th extension
        $image = $request->file('photo');
        $extension=$image->getClientOriginalExtension();
        $fileNameToPost=time().'.'.$extension;
        $image->move('assets/img/posts/',$fileNameToPost);
        }

        $blog->image=$fileNameToPost;

        $blog-> save();

        return redirect('blog')->withSuccess('Rendez-vous enregister, veillez consulter l/etat de votre rdv !' ) ;  

А это форма:

<form action="{{ url('/add') }}" method="POST" enctype="multipart/form-data">
@csrf
    <label for="">Titre de l'article</label>
    <input type="text" class="form-control" name="title" id=""  placeholder="Titre de l'article">
    <label for=""> Description de l'article</label> </br>
    <textarea name="description" id="" cols="70" rows="30"></textarea> 
  <label for="">Image pour l'article</label>
    <input type="file" name="photo" class="form-control" id=""  placeholder="Titre de l'article">
  <input type="hidden"  class="form-control" name="articlemed" value="{{$med->ID}}" />
  <button type="submit" class="btn btn-primary"> Ajouter l'article </button>
</form>

Спасибо

1 Ответ

2 голосов
/ 28 мая 2020

Вы получаете ошибку undefined , потому что $fileNameToPost определен в области if, и вы назначаете его за ее пределами.

Попробуйте включить назначение внутри if вот так:

if($request->hasFile('photo')){
    // Get filename with th extension
    $image = $request->file('photo');
    $extension=$image->getClientOriginalExtension();
    $fileNameToPost=time().'.'.$extension;
    $image->move('assets/img/posts/',$fileNameToPost);
    $blog->image=$fileNameToPost;
    $blog-> save();
    }
...