Laravel 添加 post

Laravel add post

我是 Laravel 框架的新手 - 我想添加带有图片的 post(文件上传),但出现此错误:

Undefined variable: 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>

谢谢

你得到一个 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();
    }