Laravel状态在代码中没有改变

时间:2020-05-31 05:58:18

标签: php laravel

在我的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

我还打印了以检查接收状态是否正确。但是是正确的并且不在循环内

请帮助

1 个答案:

答案 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');
    }