【问题标题】:Laravel returning users last item from the databaseLaravel 返回用户数据库中的最后一项
【发布时间】:2016-03-06 18:46:16
【问题描述】:

我正在尝试返回 Sheetentry 的单个实例。更具体地说,用户提交的最后一个。我知道我离这个框架不远了。

感谢任何反馈。

return Sheetentry::where('user_id', $user->id)
  ->limit(0)->offset(0)
  ->orderBy('created_at', 'asc')
  ->get();

【问题讨论】:

  • 你试过->limit(1)->offset(0)吗?

标签: php database laravel


【解决方案1】:

如果您想要最后输入的行,请尝试降序排序,这样您就可以在结果集中首先获得最旧的行。然后只限制为 1 而不是 0。我很确定你根本不需要 offset()

return Sheetentry::where('user_id', $user->id)
                   ->orderBy('created_at', 'desc')
                   ->limit(1)
                   ->get();

【讨论】:

  • 我建议使用first() 而不是limit(1)->get(),因为您没有收集到。
【解决方案2】:

当您说“提交”时,您能更具体一点吗?我的意思是,提交创建、更新还是什么?

我问这个是因为如果你只关心最后创建的 SheetEntry,你可以像@RiggsFolly 提到的那样使用你的字段 created_at (如果它不起作用,使用 first() 而不是 get() )否则你可以检查 updated_at,或者两者都取决于您的需要。

如果我们确切地知道您想要什么,会更容易为您提供帮助。

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 1970-01-01
    • 2016-02-11
    • 2020-04-27
    • 2020-02-24
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多