【问题标题】:Laravel 5.2 update last created recordLaravel 5.2 更新最后创建的记录
【发布时间】:2016-08-08 13:42:16
【问题描述】:

我是 laravel 的新手,我尝试了很多建议,但没有一个能满足我的需要。满足设计要求我将我的注册分成两个表艺术家和普通用户表。问题是电子邮件验证是通过艺术家表完成的。完成该过程后,我只想将活动列中用户表中最后创建的用户从 0 更新为 1。

我不知道如何让它工作。

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 更改为 1。你在说什么更容易,可以通过 laravel 添加到两个表中
  • 您为什么不将他们的user_id 分配给该信息?然后在他们验证电子邮件后使用它来移动正确的信息?
  • 我是 laravel 新手,我该怎么做?我不知道如何提取最后一条记录然后将其插入新表或如何更新特定的行和列,附加用户我将如何帮助我不知道我将成为的用户,因为这一切都需要自动化

标签: database controller laravel-5.2 insert-update


【解决方案1】:

考虑到您的要求和您做事的方式 - 您在注册期间创建一个用户(在 users 表中并将 verified 设置为 0),然后将他们的一些信息放入 artists 表中直到他们被验证。

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

当他们验证时,您可以使用他们的user_id 在您的artists 表中找到他们的信息,然后将其移动到您需要的任何地方。

【讨论】:

  • 我怎么知道有 user_id 而无需查找?
  • 好吧,如果你在创建用户时使用相同的函数,那么你仍然可以在用户对象中访问它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多