php - 使用数据库和碳中的日期获取特定年龄的用户

标签 php laravel

当我想要获得特定年龄的用户时,我正在发出请求。但我不知道如何从数据库获取用户。例如,如果用户年龄为 19 岁,我想要 12 岁以上的用户 - 我得到该用户。如果他有 20 个,则不会。你能帮我修改我的代码吗?因为它不起作用。

这是我的代码:

 if ($request->has('age_from')) 
        {
            $user = User::with('user_data')->whereHas('user_data', function($query) use ($request) { 
                $birth_date = Carbon::now()->subYears($request->age_from)->toDateString();

                return $query->where('date_of_birth', '>=', $birth_date); 
            })->get();
        }

最佳答案

您不需要格式化 Carbon 对象,Laravel 和 Carbon 在数据库查询中无缝工作:

$user = User::with('user_data')->whereHas('user_data', function($query) use ($request) { 
    $query->where('date_of_birth', '>=', Carbon::now()->subYears($request->age_from)); 
})->get();

关于php - 使用数据库和碳中的日期获取特定年龄的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47102657/

相关文章:

php - ical 与 php 无需输入时区

php - 代码执行速度 : ASP. NET-MVC 与 PHP

validation - Laravel 有时 vs 有时|需要

mysql - 在 HR 应用程序 Laravel 上保留系统余额

javascript - 本地化:Php 和 Javascript

php - 存储 html 模板的最佳方式 (Laravel 5)

mysql - Laravel:mysql 获取 json 中的所有未读和 15 个最后未读通知

php - 将多个参数传递给 Blade 指令

curl - php webpayments pro install.php 不工作

php - 我需要 mysql 表中最接近的较小值