Laravel从数据库返回用户的最后一项

时间:2015-12-02 13:41:44

标签: php database laravel

我试图返回单个Sheetentry实例。更具体地说,是用户提交的最后一个。我知道我还没有完全不习惯这个框架。

感谢任何反馈。

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

当你说"提交"时,你会更具体吗? ?我的意思是,提交创建,更新,还是什么?

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

如果我们确切地知道你想要什么,那么帮助你会更容易。