Laravel 如何转化为拉威尔雄辩
我需要将此查询转换为laravel,帮助Laravel 如何转化为拉威尔雄辩,laravel,Laravel,我需要将此查询转换为laravel,帮助 UPDATE table_name SET usercontact_status = CASE WHEN usercontact_status = 0 THEN 2 WHEN usercontact_status = 16 THEN 64 WHEN usercontact_status = 32 THEN 128 WHEN usercontact_status = 4 THEN 256 END WHERE us
UPDATE table_name
SET usercontact_status = CASE
WHEN usercontact_status = 0 THEN 2
WHEN usercontact_status = 16 THEN 64
WHEN usercontact_status = 32 THEN 128
WHEN usercontact_status = 4 THEN 256
END WHERE usercontact_value = "456"
这是为你的问题编辑的答案
switch ($usercontact_status) {
case 0:
$value = 2;
break;
case 16:
$value = 64;
break;
case 32:
$value = 128;
break;
case 4:
$value = 256;
break;
}
您的查询将有点像这样
$query = Model::where('usercontact_value','456')->where('usercontact_status',$usercontact_status)->update([
'usercontact_status' => $value
]);
希望这能解决您的问题您是否创建了任何模型?你试过什么吗?看起来你在问之前没有试过什么,因为可以找到很多关于这个的资源。在提问之前,请尝试阅读和,这样你的答案更可能被回答而不是被否决。是的,我确实创建了模型,eibersji,实际上这就是我尝试的,DB::update('update'。UserContacts::getTableName().“当usercontact_status=0时设置usercontact_status=CASE,当usercontact_status=16时设置usercontact_status=2,当usercontact_status=32时设置usercontact_status=64,当usercontact_status=4时设置usercontact_status=CASE,当usercontact_status=4时设置usercontact_status=128,然后设置usercontact_value=“.”;谢谢。这就是我关注的内容,UserContacts::where('usercontact\u value',$code->usercontact\u value)->更新(['usercontact\u status'=>'当usercontact\u status=0时为2,当usercontact\u status=16时为2,当usercontact\u status=32时为64,当usercontact\u status=4时为128,然后是256 END'];这是否正确