Я пытаюсь заполнить базу данных, используя для l oop. При отправке формы я получаю следующие данные:
"name" => "This is a product title"
"slug" => "this-is-a-product-title"
"category_id" => "1"
"brand_id" => "1"
"description" => "<p>This is a product description</p>"
"video" => "https://www.youtube.com/watch?v=kY1F_Y0GniQ"
"imageColor" => array:2 [▼
0 => "1"
1 => "2"
]
"image" => array:2 [▼
0 => "["http://ecom.local/uploads/product-1.jpg","http://ecom.local/uploads/product-2.jpg"]"
1 => "["http://ecom.local/uploads/product-4.jpg","http://ecom.local/uploads/product-3.jpg"]"
]
"color" => array:2 [▼
0 => "1"
1 => "2"
]
"size" => array:2 [▼
0 => "11"
1 => "9"
]
"stock" => "2"
"price" => array:2 [▼
0 => "4000"
1 => "3000"
]
"discount" => array:2 [▼
0 => "0"
1 => "0"
]
"status" => "active"
Для заполнения данных я написал следующий код:
public function store(Request $request)
{
$rules = $this->product->getRules();
$request->validate($rules);
$data = $request->all();
$data['name'] = $request->name;
$data['slug'] = $request->slug;
$data['category_id'] = $request->category_id;
$data['brand_id'] = $request->brand_id;
$data['video'] = $request->video;
$data['status'] = $request->status;
$this->product->fill($data);
$status = $this->product->save();
$product_id = $this->product->id;
if($status){
if(!empty($request->image)){
for($i = 0; $i < count($request->image);){
$images = $request->image[$i];
$images = str_replace('"', '', $images);
$images = str_replace(array('[',']'),'',$images);
$images = explode(',', $images);
for($j = 0; $j < count($images[$i]);){
$image_data['product_id'] = $product_id;
$image_data['color_id'] = $request->imageColor[$i];
$image_data['image'] = $images[$j];
$this->product_image->fill($image_data);
$this->product_image->save();
$j++;
}
$i++;
}
}
if(!empty($request->size)){
for($i = 0; $i < count($request->size); $i++){
$size_data['product_id'] = $product_id;
$size_data['size_id'] = $request->size[$i];
$this->product_size->fill($size_data);
$this->product_size->save();
}
}
$request->session()->flash('success','Product created successfully.');
} else {
$request->session()->flash('error','Problem while adding product.');
}
return redirect()->route('products.index');
}
Но каждый раз, когда я вставляю продукт, я получить только одну строку в таблицах product_images и product_sizes. У меня для l oop не работает или в моем коде ошибка? На данный момент я получаю этот результат с моим кодом: Мой ожидаемый ответ будет выглядеть следующим образом в изображениях продуктов tabel