[英]Update multiple rows where id is the same in one query (laravel)
我不知道这个问题是否被正确地问了,但这是。 我可能有60多个变量:
$id = $_POST['id'];
$job_type_buyer = $_POST['job_type_buyer'];
$job_type_partner = $_POST['job_type_partner'];
$job_type_locum = $_POST['job_type_locum'];
// etc...
我想一次更新多行,例如$id = 3;
我的表结构是这样的:
meta_id id meta_key meta_value
1 3 job_type_buyer 1
2 3 job_type_partner 0
// etc...
目前,我正在运行多个查询以实现我想要的:
DB::table('people_job_types')
->where('id', $id)
->where('meta_key', 'job_type_buyer')
->update( ['meta_value' => $job_type_buyer]
);
DB::table('people_job_types')
->where('id', $id)
->where('meta_key', 'job_type_partner')
->update( ['meta_value' => $job_type_partner]
);
// etc...
我知道这可能需要一段时间才能启动,并且代码结构本身是错误的。
题:
如何通过一个查询一次更新所有行? 我应该使用数组吗?
对不起,英语不好,谢谢您的回答。
码
尝试以下类似的方法。 希望对您有帮助
for($i=0;$i<2;$i++){
DB::table('people_job_types')
->where('id', $id)
->where('meta_id', '1') //here that id just pass it loop like 1 n 2....
->where('meta_key', '$job_type_partner')
->update( ['meta_value' => $job_type_partner]
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.