Php 如何将产品图像存储在Laravel中的单独表格中
我正在尝试在数据库中存储多个图像。我有产品表,图片表 在images表中,我有一个名为“product_id”的外键 我已成功存储产品数据,但没有图像 如何在存储此产品的同时存储具有产品标识的图像 这是密码 控制器Php 如何将产品图像存储在Laravel中的单独表格中,php,laravel,laravel-7,Php,Laravel,Laravel 7,我正在尝试在数据库中存储多个图像。我有产品表,图片表 在images表中,我有一个名为“product_id”的外键 我已成功存储产品数据,但没有图像 如何在存储此产品的同时存储具有产品标识的图像 这是密码 控制器 public function Store(Request $request) { try { $formInput=$request->all(); product::create(array_merg
public function Store(Request $request)
{
try {
$formInput=$request->all();
product::create(array_merge($formInput,
[
'name' => $request->name,
'description' => $request->description,
'price' => $request->price,
'status' => $request->status,
'category_id' => $request->category_id,
],
));
toastr()->success('Data Has been saved successfully ' , 'SUCCESS ');
return redirect()->back();
} catch (\Exception $ex) {
toastr()->success('An error has occurred ' , 'ERROR');
return redirect()->back()->withInput();
//return $ex ;
}
}
产品模型
public function images(){
return $this->hasMany(Image::class);
}
图像模型
public function product(){
return $this->belongsTo(Product::class);
}
刀片“单柱”
但是在product_id中,我如何用product_id替换11???请更新您的问题,说明您的数据是如何从ui传递的-是单个POST还是AJAX还是多个AJAX保存产品后,您可以使用InsertGetId()方法返回产品id。使用此ID,您可以将数据保存在images表中。
$product->images()->saveMany(ImageObject)代码>试试这个。
<div class="col-12">
<div class="custom-file">
<input type="file" name="images[]" multiple class="custom-file-input">
<label class="custom-file-label" for="inputGroupFile01">Choose file</label>
</div>
</div>
$images=array();
if($files=$request->file('images')){
foreach($files as $file){
$name=$file->hashName();
$file->move('images',$name);
$images[]=$name;
Image::create(array_merge($formInput,
[
'product_id' => 11,
'url' => ($name),
],
));
}
}