2016-04-16 116 views
0

我是laravel新手,我尝试了一堆建议,但没有人为我所需要的工作。遵守设计要求我将注册分为两个表格artist和普通用户表格。问题是电子邮件验证是通过艺术家表完成的。完成该过程后,我只想将用户表中最后创建的用户从活动列中的0更新为1。Laravel 5.2更新最后创建记录

我想不出如何让这个工作。

return $this->users()->where('verified')->first()->verified()- >orderBy('created_at', 'desc')->first(); 

然后跑更新没有工作

User::orderby('created_at', 'desc')->first(); 

然后试图更新没有工作上面的

$user = User::find(1)->verified()- >update(array(
'Verified' => '1' 
    )); 

非工作过。任何建议表示赞赏。

+0

所以你基本上在做电子邮件验证?有一个更简单的方法来做到这一点,你选择的方法听起来就像它发送一个验证邮件,然后当一个链接被点击时,它会验证最近创建的用户 - 如果有人在这之间注册,会发生什么?你会验证错误的人。如果这只是您想要做的电子邮件验证,那么我可以通过更简单的方式引导您完成此操作? – James

+0

我的设置是他们填写表单并点击提交提交告诉他们检查那里的电子邮件并点击验证链接。他们提交的信息已经发送到数据库,但他们无法访问登录或仪表板,直到他们验证了电子邮件。问题是我想只在他们验证了电子邮件后才将他们填写的信息发送到用户表。所以问题是我不知道如何拉取创建的最后一条记录,并在用户表中将验证状态从0更改为1。你说什么这样做更容易,并且可以通过laravel – shutterfly

+0

添加到两个表中为什么不直接将'user_id'分配给这些信息呢?然后使用它在验证电子邮件后移动正确的信息? – James

回答

0

鉴于您的要求的方式,以及你正在做的事情 - 要创建注册时的用户(在users表,并设置verified为0),然后把他们的一些信息在artists表,直到它们被验证。

我会为您的artists表添加一个users_id列,并将其值设置为新创建的用户的id

当他们进行验证时,您可以使用他们的user_idartists表中找到他们的信息,然后将其移动到任何需要的位置。

+0

我怎么会知道那里user_id而不必查找它? – shutterfly

+0

那么,如果你使用与创建用户相同的功能,那么你仍然可以在用户对象内部访问它。 – James