Laravel如何检索最近上传的值

时间:2017-08-17 07:59:09

标签: mysql laravel laravel-5 rdbms

我在mysql中有一个数据库。我从.csv文件或.xls文件上传一组数据到数据库表。在检索期间,我只需要检索我最近上传到数据库中的表的值集。我不应该获得存储在表中的所有值。(只应检索最近上传到表中的值)。我怎么能用Laravel做到这一点?

4 个答案:

答案 0 :(得分:1)

假设您有一个名为Users的表/模型;

$getLatestUsers=Users::orderBy('created_at','desc')->take(5)->get();

这将从数据库中获取最近的5条记录。

答案 1 :(得分:1)

这取决于你的考虑因素"最近"但你可以调整这样的功能以满足你的需求:

->where('created_at', '<', Carbon::now()->subMinutes(5)->toDateTimeString())

这将检索最近5分钟创建的元素,但Carbon提供了各种各样的substractors

PD:请记住在名称空间声明下添加use Carbon\Carbon;

希望这会对你有所帮助。

答案 2 :(得分:1)

$latest= Users::orderBy('created_at','desc')->take(10)->get();

this will return 10 recent values

答案 3 :(得分:1)

(1)

在使用CSV和XML存储数据的表格中,使用迁移创建一个标记来标记您尚未处理的记录,例如is_processed。将其设为默认值0

(2)

如果您已检索(处理过)数据,请将其设置为1,以免再次处理。您可以根据您的情况中有意义的条件,使用查询手动执行此操作。

(3)

然后,在您存储新数据后,它们将自动设置为is_processed = 0。这意味着您可以在之后识别它们,如下所示:

$unprocessedData = MyModel::where('is_processed', 0)->get();

如果需要,您也可以订购它们,但是 - 一般来说 - 这就是我采取的方法。