在我的laravel项目中,我试图根据URL中接收的状态来更改诊所状态。问题在于它不会处理其他情况。 以下是我的代码
public function deactivate($id , $status)
{
$input_data['id'] = $id;
$clinic = new Clinic;
$clinc = Clinic::find($id);
if ($status="deactive") {
echo "here";
die();
$clinc->ClinicPub = "no";
}
else if ($status="active")
{
echo "ok";
die();
$clinc->ClinicPub = "yes";
}
if($clinc->save()){
Session::flash('message', 'Clinic Deactivated Sucessfully');
Session::flash('msgclass', 'alert-success');
}
return redirect('clinics');
}
如果状态为deactive
,则它将进入该循环并在此处优先处理变量。但是问题在于状态为active
,不在status=active
情况下,而是进入deactive case
。
我还打印了以检查接收状态是否正确。但是是正确的并且不在循环内
请帮助
答案 0 :(得分:1)
请使用==
进行比较
public function deactivate($id , $status)
{
$input_data['id'] = $id;
$clinic = new Clinic;
$clinc = Clinic::find($id);
if ($status=="deactive") {
$clinc->ClinicPub = "no";
}
else if ($status=="active")
{
$clinc->ClinicPub = "yes";
}
if($clinc->save()){
Session::flash('message', 'Clinic Deactivated Sucessfully');
Session::flash('msgclass', 'alert-success');
}
return redirect('clinics');
}