Laravel 如何检索最近上传的值

Laravel how to retrieve the recently uploaded values

我在 mysql 中有一个数据库。我将一组数据从 .csv 文件或 .xls 文件上传到数据库 table。在检索期间,我只需要检索我最近上传到数据库中 table 的一组值。我不应该获取存储在 table 中的所有值。(应该只检索最近上传到 table 的值)。我怎样才能使用 Laravel?

假设您有一个 table/model 命名用户;

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

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

好吧,这取决于您的考虑 "recent" 但您可以调整这样的功能以满足您的需要:

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

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

PD:记得在命名空间声明下添加 use Carbon\Carbon;

希望对您有所帮助。

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

this will return 10 recent values

(1)

在存储 CSV 数据的 table 和 XML 中,使用迁移创建一个标志来标记您尚未处理的记录,例如is_processed。给它默认值 0.

(2)

如果您有已经检索(处理)的数据,请将它们设置为 1,这样它们就不会再次被处理。您可以根据对您的情况有意义的条件,通过查询手动执行此操作。

(3)

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

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

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