我在 AuthController 验证和创建方法中的 laravel 5.1 注册时遇到问题。我可以在一个页面中登录和注册表格,所以我在注册表的输入中添加了register-(例如,注册表中的电子邮件地址的register-email)。所以我在 AuthController 中的验证方法是这样的:
App\Auth\Http\Controllers\Auth
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'last-name' => 'required|between:2,35',
'first-name' => 'required|between:2,35',
'register-email' => 'required|email|max:255|unique:users',
'register-password' => 'required|confirmed|min:8',
'register-confirm-password' => 'same:register-password'
]);
}
last-name,first-name,register-email等是html输入对吗?所以我认为这是对的?然后这是创建方法:
protected function create(array $data)
{
return User::create([
'last-name' => $data['last-name'],
'first-name' => $data['first-name'],
'email' => $data['register-email'],
'password' => bcrypt($data['register-password'])
]);
}
create 方法中的键是数据库表对吗?值是 html 输入名称/id?我收到未知列错误,register-email
为什么会这样?我知道我在数据库中没有register-email列,但是在创建方法中我指定了email
数据库中的列,而不是register-column,它是我的注册表单的 html 输入名称。请帮忙。
顺便说一句,这是我的数据库迁移
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('last-name');
$table->string('first-name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}