Laravel - 显示过去 30 天的用户

laravel

1个回答

写回答

刘晓芬

2025-07-10 06:51

+ 关注

Laravel
Laravel

使用 Laravel 显示过去 30 天的用户

在使用 Laravel 开发应用程序时,我们经常需要获取过去一段时间内的用户数据。例如,我们可能需要显示过去 30 天内注册的用户,以便进行统计分析或生成报告。在本文中,我们将学习如何使用 Laravel 查询构建器和 Eloquent 模型来实现这个功能。

准备工作

在开始之前,我们需要确保我们已经设置好了 Laravel 环境并且数据库已经配置正确。我们还需要创建一个 User 模型和相应的数据库表。如果你还没有设置这些,可以按照 Laravel 文档的指导进行操作。

查询过去 30 天的用户

要获取过去 30 天内注册的用户,我们可以使用 Laravel 的查询构建器或 Eloquent 模型。下面是使用查询构建器的示例代码:

php

$users = DB::table('users')

->where('created_at', '>=', now()->subDays(30))

->get();

在上面的代码中,我们使用了 DB::table('users') 方法来获取一个用户表的查询构建器实例。然后,我们使用 where 方法来添加一个条件,只选择 created_at 字段大于或等于过去 30 天的用户。最后,我们使用 get 方法来执行查询并获取结果。

Eloquent 模型

如果我们更喜欢使用 Eloquent 模型来进行数据库操作,我们可以通过以下方式获取过去 30 天内注册的用户:

php

use App\Models\User;

$users = User::where('created_at', '>=', now()->subDays(30))

->get();

在上面的代码中,我们首先导入了 User 模型,然后使用 where 方法来添加一个条件,选择 created_at 字段大于或等于过去 30 天的用户。最后,我们使用 get 方法来执行查询并获取结果。

案例代码

下面是一个完整的示例代码,展示如何使用 Laravel 显示过去 30 天的用户:

php

use App\Models\User;

$users = User::where('created_at', '>=', now()->subDays(30))

->get();

foreach ($users as $user) {

echo $user->name.'<br>';

}

在上面的代码中,我们首先导入了 User 模型,然后使用 where 方法来添加一个条件,选择 created_at 字段大于或等于过去 30 天的用户。最后,我们使用 foreach 循环遍历用户,并输出他们的名称。

本文介绍了如何使用 Laravel 查询构建器和 Eloquent 模型来获取过去 30 天内注册的用户。无论您选择使用查询构建器还是 Eloquent 模型,都可以轻松地实现这个功能。希望本文对你有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号