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

How can I update multiple records in one query

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

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

喜欢
update(items)

你不能

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

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

你的Blade:

<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();
            }
}

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

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

您可以使用 Eloquent:

例如,更新企业中的国家/地区 table:

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