带有laravel

时间:2018-01-16 20:16:22

标签: php laravel blade

我的数据库'administrator'和'moderator'类型单选按钮中有两个字段,我想:

  • 选择管理员时保存值1,值为0 主持人

  • 当我选择主持人时,我想保存值1和 管理员的值为0

我尝试使用此代码,但它不起作用。

我的观点:

<label class="mt-checkbox">
  <input type="radio" id="administrator" name="radio" value="administrator"> Administrator
</label>
<label class="mt-checkbox">
  <input type="radio" id="moderator" name="radio" value="moderator"> Moderator
</label>

我的控制器:

public function add_profil(Request $request)
    {

            $profil = new Profil();

            if($request->adminitrator == 'checked'){

                $profil->adminitrator = 1;  
                $profil->moderator = 0;  

            } 
            elseif ($request->moderator == 'checked')   {

                $profil->moderator = 1;  
                $profil->adminitrator = 0; 
            }   

            $profil->save();


    }

3 个答案:

答案 0 :(得分:0)

您的请求已<input name='radio'>,因此您需要查找请求,如下所示:

    public function add_profil(Request $request)
    {

            $profil = new Profil();

            if($request->radio == 'adminitrator'){

                $profil->adminitrator = 1;  
                $profil->moderator = 0;  

            } 
            elseif ($request->radio == 'moderator')   {

                $profil->moderator = 1;  
                $profil->adminitrator = 0; 
            }   

            $profil->save();


    }

答案 1 :(得分:0)

发送请求后,您将获得带有名称的输入。所以你的收音机按钮的名称是&#39; radio&#39;。因此,您应该使用该输入名称检查请求,而不是输入的值。

我建议您使用request-&gt; all()方法获取请求,并将其设置为变量$ request。这样,您可以将请求视为数组,并使用与输入名称相同的键访问请求值。

所以你可以这样做: 首先,在您的控制器中,您必须使用无线电名称检查请求值是什么,然后如果它具有管理员值,则将管理员值设置为1,然后将管理员值设置为0.并且在else语句的另一侧你应该这样做,否则就像下面的代码:

public function add_profil(Request $request)
    {

            $request = request->all();
            $profil = new Profil();


        if($request['radio'] == 'administrator'){

            $profil->adminitrator = 1;  
            $profil->moderator = 0;  

        } 
        elseif ($request['radio'] == 'moderator')   {

            $profil->moderator = 1;  
            $profil->adminitrator = 0; 
        }   

        $profil->save();


}

请注意,在if语句中键入管理员错误。你错误地排除了&#39;。

答案 2 :(得分:-1)

你在laravel中得到了错误的名字,将表单更改为:

public function add_profil(Request $request)
    {

            $profil = new Profil();

            if($request->administrator == 'checked'){

                $profil->adminitrator = 1;  
                $profil->moderator = 0;  

            } 
            elseif ($request->moderator == 'checked')   {

                $profil->moderator = 1;  
                $profil->adminitrator = 0; 
            }   

            $profil->save();


    }

    <label class="mt-checkbox">
        <input type="radio" id="administrator" name="administrator" value="checked"> Administrator
    </label>
    <label class="mt-checkbox">
        <input type="radio" id="moderator" name="moderator" value="checked"> Moderator
    </label>
相关问题