如何在一个查询中更新多个记录

时间:2017-07-16 07:35:22

标签: laravel query-builder

我的表库存栏
[id qty price]  我想要更新

$items = [{ id:1, qty:5 }, { id:7, qty:3 }, { id:2, qty:4 }]


update(items)

4 个答案:

答案 0 :(得分:0)

你不能

可以使用dependencies以这种方式创建多条记录,但没有相应的更新。相反,您必须遍历您的项目并单独更新它们。

答案 1 :(得分:0)

您可以一次插入多个记录。 $ trainer->更新()更新;

你的刀片:

<select name="subunit[]" id="submit" class="select2" multiple="multiple">
        <option value="">Select Option</option>
    </select>

你的控制器:

添加控制器顶部:

use Illuminate\Support\Facades\Input;

function:

public function valueStore(Request $request)
     {
          $input = Input::all();
            for ($idx = 0; $idx < count(Input::get('subunit')); $idx++)
            {
              $trainer = new AssignTrainer();
              $trainer->course_id = $request['course_id'];
              $trainer->subunit_id =  $request['subunit'][$idx];
              $trainer->save();
            }
}

答案 2 :(得分:0)

使用Elonquent,您可以在控制器中执行以下操作:

foreach ($items as $object) {
   Inventory::where('id', '=', $object.id)
            ->update(['qty' => $object.qty]);
}

答案 3 :(得分:0)

您可以使用Eloquent:

例如,更新商家表中的“国家/地区”:

App\Business::whereIn('id',[id1,id2,id3,id4])->update(['country'=>'Kenya']);