使用foeach循环在laravel 5.1中插入查询

时间:2016-03-30 11:55:35

标签: arrays foreach insert laravel-5.1

我的代码是:

  $store_ids=Input::get('store_inventory_ids');
        $store_product_inven_qty=Input::get('store_pro_inv_qty');
        $store_attri_ids=Input::get('store_attri_ids');
        $store_id_with_attri_id=Input::get('store_id_attri_id');

    foreach ($store_ids as $key => $store_id) { 
    ProStoreInventoryModel::insert([
    'product_id'=>'1',
    'store_id'=>$store_id,
    'attri_ids'=>'1',
    'attri_ids_with_store_id'=>'1',
    'product_qty'=>'1',
    'status'=>'1',
    'deletestatus'=>'0',
    'created_at'=>date('Y:m:d H:i:s'),
    'updated_at'=>date('Y:m:d H:i:s')
    ]);
    }

这是我的型号名称:ProStoreInventoryModel

以下四个变量以数组格式包含16个数据。

$store_ids, $store_product_inven_qty, $store_attri_ids, 
$store_id_with_attri_id.

我只是循环主要的foreach,因为我写了插入查询,现在我该如何插入剩余的值?

1 个答案:

答案 0 :(得分:1)

你可以使用for循环,例如:你有16个输入,执行此操作

$store_ids=Input::get('store_inventory_ids');
$store_product_inven_qty=Input::get('store_pro_inv_qty');
$store_attri_ids=Input::get('store_attri_ids');
$store_id_with_attri_id=Input::get('store_id_attri_id');



for($i=0; $i<count($store_ids); $i++){

ProStoreInventoryModel::insert([
    'product_id'=>'1',
    'store_id'=>$store_id[$i],
    'attri_ids'=>$store_attri_ids[$i],
    'attri_ids_with_store_id'=>$store_id_with_attri_id[$i],
    'product_qty'=>$store_product_inven_qty[$i],
    'status'=>'1',
    'deletestatus'=>'0',
    'created_at'=>date('Y:m:d H:i:s'),
    'updated_at'=>date('Y:m:d H:i:s')
]);

}

或执行此操作

for($i=0; $i<count($store_ids); $++){

    $data[] = 
    [
        'product_id'=>'1',
        'store_id'=>$store_id[$i],
        'attri_ids'=>$store_attri_ids[$i],
        'attri_ids_with_store_id'=>$store_id_with_attri_id[$i],
        'product_qty'=>$store_product_inven_qty[$i],
        'status'=>'1',
        'deletestatus'=>'0',
        'created_at'=>date('Y:m:d H:i:s'),
        'updated_at'=>date('Y:m:d H:i:s')
    ];


}

ProStoreInventoryModel::insert($data);