如何在一个查询中更新多条记录
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']);
我的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']);