Laravel 5 无法在数据库中存储图像名称

Laravel 5 can't store image name in database

我正在使用 Laravel 5.1

我可以使用正确的名称将图像移动到我的目标文件夹,但在数据库中它是用临时名称保存的,例如 D:\xampp\tmp\phpC7EA.tmp

form.blade.php

<div class="form-group">
    {!! Form::label('image', 'Upload Image', ['class'=>'control-label col-sm-4']) !!}
    <div class="col-sm-8">
        {!! Form::file('image', null) !!}
    </div>
</div>

TeacherController.php

public function store(TeacherRequest $request)
{
    Teacher::create($request->all());
    $image_name = $request->file('image')->getClientOriginalName();
    $request->file('image')->move(base_path().'/public/images', $image_name);
    Session::flash('success_message', 'Teacher has been added successfully!');
    return redirect('teacher');
}

我在用新图像更新记录时遇到同样的问题,图像名称保存在正确的名称中,但数据库中的 tmp 名称如 'C:\wamp\tmp\phpD10D.tmp' 我在保存之前所做的是

$request['img'] = $imageName; //with new name
$images->update($request->all());

我知道应该是这样的$_FILE['img']['name'] = $imageName

但如何在 Laravel 5.1

中管理它