我想将记录添加到新用户后再生完成的问题,我得到用户->id与空值后调用user->save()。
我的代码
public function register(){
$input=Input::all();
$rules=array(
'username'=>'required|unique:bradoseusers|alphaNum|min:2',
'email'=> 'required|unique:bradoseusers|email',
'password'=>'required|alphaNum|min:6'
);
$v=Validator::make($input,$rules);
if($v->passes())
{
$password=$input['password'];
$password=Hash::make($password);
$user=new Bradoseusers();
$user->username=$input['username'];
$user->Email=$input['email'];
$user->password=$password;
$user->save();
return Redirect::to('login');
}
else
{
return Redirect::to('/Register')->withErrors($v);
}
}
您可以尝试这样做:
public function register()
{
$input=Input::all();
$rules=array(...);
$v = Validator::make($input,$rules);
if($v->passes()) {
$user = new Bradoseusers;
$user->username = $input['username'];
$user->Email = $input['email'];
$user->password = Hash::make($input['password']);
$user->save();
// probably you want to redirect to
// default landing page for logged in user
return Redirect::to('login'); // i.e /dashboard or /
}
else {
return Redirect::to('/Register')->withErrors($v)->withInput();
}
}
问题是我在模型中设置了primaryKey属性为"Email"。这样就会覆盖主键值这样就不会有"id"字段了