首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5表单请求和用户注册

Laravel 5表单请求和用户注册
EN

Stack Overflow用户
提问于 2015-06-25 10:23:53
回答 1查看 65关注 0票数 0

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

我试过了

代码语言:javascript
复制
$data = Request::all();

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

如何立即获得新的用户ID?

记录其他数据,如

代码语言:javascript
复制
$question = new App\Question();
$question->name_q = $data['name_q'];
$question->body_q = $data['body_q'];
$question->user_id = ?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-25 10:36:14

应该为此定义关系,以便在不创建两个不同表的对象的情况下轻松插入数据。让我们先看看你的情况,然后我将告诉你如何做更好的方法。

代码语言:javascript
复制
$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();

我们就完了。但是在这种情况下,您必须创建两个不同表的对象,并编写到现在为止还好的所有内容,但是当您必须一次将数据插入到多个表中时会发生什么。让我们看看:

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

代码语言:javascript
复制
//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');
 }

现在我们要做的是

代码语言:javascript
复制
$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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31047657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档