Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改图像名称并保存到DB Laravel_Laravel_File Upload - Fatal编程技术网

更改图像名称并保存到DB Laravel

更改图像名称并保存到DB Laravel,laravel,file-upload,Laravel,File Upload,您好,我无法将图像名称存储到Laravel项目中的数据库中。 如何解决这个问题 这是控制器的代码 class TarifController extends Controller { public function store(Request $request) { $request->validate([ 'title_uz' => 'required', 'desc_uz' => 'required', '

您好,我无法将图像名称存储到Laravel项目中的数据库中。 如何解决这个问题

这是控制器的代码

 class TarifController extends Controller
{
  public function store(Request $request)
   {
    $request->validate([
        'title_uz' => 'required',
        'desc_uz' => 'required',
        'full_desc_uz' => 'required',
        'company_id' => 'required',
        'order' => 'required',
        'image' => 'required|image|mimes:jpeg,png,jpg,svg|max:2048',
    ]);
    $image1 = time().'.'.$request->image->extension();
    $request->image->move(public_path('images'), $image1);
    Tarif::create($request->all());
    return redirect()->route('tarifs.index')
        ->with('success','Yangi tarif muvoffaqiyatli qo`shildi.');
  }
}
这是视图中的代码

<form role="form" action="{{ route('tarifs.store') }}" method="post" enctype="multipart/form-data">
@csrf
 <div> .. another fields ..  </div>
 <div class="col-5">
     <label for="image">Surat</label>
      <input type="file" class="form-control" name="image" id="image" required>
 </div>
<div> .. another fields ..  </div>
<div class="card-footer">
     <a class="btn btn-info" href="{{ route('tarifs.index') }}">Qaytish</a>
     <button type="submit" class="btn btn-success">Saqlash</button>
</div>
</form>

@csrf
.. 另一个领域。。
苏拉特
.. 另一个领域。。
萨格拉什

它将图像保存到public/images文件夹,但未将文件名或路径保存到数据库。数据库上的字段名为“image”。

如果需要将新值合并到请求对象中,以下代码可以完成此操作:

$request->merge(['image' => 'avatar.png']);
或者,您可以按如下方式更改代码:

$image1 = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $image1);
$input = $request->all();
$input['image'] = $image1;
Tarif::create($input);

我做了与您类似的更改,但它保存的数据如下:“W:\userdata\temp\php69E2.tmp”。但当我捕获请求时,它返回[“image”=>“1604906402.jpeg”]。