2017-09-25 144 views
0

我想将单选按钮值保存到用户数据库。但有一个 ERROR:未定义的索引:RegisterController.php中的user_role

Undefined index: user_role in RegisterController.php

可我知道如何解决这个问题?

迁移:

Schema::table('users',function(Blueprint $table) 
    { 
     $table->integer('user_role'); 

    }); 

注册控制器:

protected function create(array $data) 
{ 

    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'stuID'=> $data['stuID'], 
     'user_role'=>$data['user_role'], 
    ]); 
} 

刀片文件:

<form class="form-horizontal" role="form" method="POST" action="{{ 
     route('register') }}"> 
       {{ csrf_field() }} 

<label for="user_role" class="col-md-4 control-label ">Role</label> 

     <div class="user_role" id="user_role" data-toggle="buttons"> 
      <label class="btn btn-default user_role"> 
       <input type="radio" name="user_role" id="lecturer" value="1"> 
        <span class="radio-dot"></span> 
         <span class="user_role-word">Lecturer</span> 
      </label> 

      <label class="btn btn-default user_role"> 
       <input type="radio" name="user_role" id="student"value="2"> 
        <span class="radio-dot"></span> 
        <span class="user_role-word">Student</span> 
       </label> 
     </div> 
+0

调试功能在您的代码--->'DD($的数据);'(return语句前写这篇文章) –

+0

这是输出 “_token”=> “iVFFu4Gh7ugewqZLdsDbxeKgs3EpXNG2mTPP0Qmi” “选项”= >“1” “name”=>“ss” “stuID”=>“sn098211” “email”=>“[email protected]” “password”=>“123456” “password_confirmation” =>“123456” – kavi

+1

“user_role”未包含在您的数据中。是否在

?您提交表单时,是否为user_role选择了一个值? – parpar

回答

1

如果提交表单时,你会不会选择一个单选按钮,你数组中不会有$data['user_role']索引。您可以通过制作表单中所需的单选按钮来防止此错误,或者在使用前检查阵列中的user_role索引。

return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'stuID'=> $data['stuID'], 
     'user_role'=> isset($data['user_role']) ? $data['user_role'] : null 
    ]); 
+0

我试过了你的代码。它显示错误:SQLSTATE [23000]:完整性约束违规:1048'user_role'列不能为空 – kavi

+0

使'user_role'可空。 –

+0

它现在可以工作。谢谢 – kavi