Laravel 5 Foreach循环中的多个插入

时间:2015-10-27 10:47:57

标签: php mysql laravel-5.1

我正在尝试使用一种控制器方法在Laravel 5.1中插入多个图像。

这是我尝试过的代码:

$images = Input::file('product_images');

foreach ($images as $image) {

    $productImage = new ProductImage();

    $filename = Input::get('imalatci_id') . '_product' . '_' . date('Y_m_d_H_i_s') . '_' . $image->getClientOriginalName();
    Image::make($image->getRealPath())->resize(500, 400)->save('images/products/' . $filename);

    $productImage->product_id = $productId;
    $productImage->path = 'images/products/' . $filename;
    $productImage->save();

}

此代码将单行插入表。

如何获得多次插入?

1 个答案:

答案 0 :(得分:2)

您可以使用insert功能一次性添加多条记录。

foreach($images as $image){
$filename = Input::get('imalatci_id') . '_product' . '_' . date('Y_m_d_H_i_s') . '_' . $image->getClientOriginalName();
Image::make($image->getRealPath())->resize(500, 400)->save('images/products/' . $filename);
$image_arr[] = ['product_id'=>$productId,'path'=>'images/products/' . $filename ];    }
ProductImage::insert($image_arr);

但插入功能不会更新时间戳。您必须更新这些字段。