Forms Laravel 5表格申请和用户注册

Forms Laravel 5表格申请和用户注册,forms,laravel-5,Forms,Laravel 5,问题是,您需要同时注册用户,并将其数据表单输入到另一个表中并分配ID 我试过了 $data = Request::all(); $user = new App\User(); $user->username = $data['name']; $user->email = $data['email']; $user->password = bcrypt($data['password']); $user->save(); 如何立即

问题是,您需要同时注册用户,并将其数据表单输入到另一个表中并分配ID

我试过了

$data = Request::all();

    $user = new App\User();
    $user->username = $data['name'];
    $user->email = $data['email'];
    $user->password = bcrypt($data['password']);
    $user->save();
如何立即获得新的用户ID

这将记录其他数据,例如

$question = new App\Question();
$question->name_q = $data['name_q'];
$question->body_q = $data['body_q'];
$question->user_id = ?

您应该为此定义关系,以便可以轻松插入数据,而无需创建两个不同表的对象。让我们先看看你的案例,然后我会告诉你如何做得更好

$data = Request::all();

$user = new App\User();
$user->username = $data['name'];
$user->email = $data['email'];
$user->password = bcrypt($data['password']);
$user->save();

$question = new App\Question();
$question->name_q = $data['name_q'];
$question->body_q = $data['body_q'];
$question->user_id = $user->id;
$question->save();
我们完成了。但在这种情况下,您必须创建两个不同表的对象,并编写到目前为止一切正常的内容,但当您必须一次将数据插入多个表时会发生什么情况。让我们看看:

首先定义您已经拥有的关系,让我们看看我们应该在模型中拥有什么:

//User model should have a questions function
public function questions()
  {
      return $this->hasMany('App\Question');
  }

//Question model should have a user model
public function user()
 {
        return $this->belongsTo('App\User');
 }
现在我们要做的是

$user = new App\User();
$user->username = $data['name'];
$user->email = $data['email'];
$user->password = bcrypt($data['password']);
$user->save();


$user->questions()->create([
            'field' => $somevariable,
             'field' => $someothervariable
        ]);
//here questions is the function name in User model