在将数据插入表overflow: auto;
后,我有输出对象$product
:
Product
在模型$product = Product::create($data);
中,我有:
Product
我尝试将图片添加到表public function images()
{
return $this->hasMany("App\ProductImage");
}
:
product_images
关系beetwen表是$product->images()->save(new ProductImage(UploadFiles::$files));
。
所以,插入后我收到消息:
product.id = product_images
答案 0 :(得分:2)
好的,首先让我们来处理保存一张图片:
假设您有product_images
表id
,image
,product_id
,您可以附上如下图片:
$image = new ProductImage(['image' => 'myImage.jpg']);
$product->images()->save($image);
现在看起来你有一个数组,所以你不能直接保存它,你需要把它放在for循环中。我不知道你UploadFiles::$files
的格式,但我会假设它只是一个要保存的文件名列表:
$files = UploadFiles::$files;
foreach($files as $file){
$image = new ProductImage(['image' => $file]);
$product->images()->save($image);
}
或者,您可以将整个事物创建为数组并使用saveMany
,这会更好:
$files = UploadFiles::$files;
$productImages = [];
foreach($files as $image){
$productImages[] = new ProductImage(['image' => $image]);
}
$product->images()->saveMany($productImages);