【发布时间】:2019-04-29 09:31:45
【问题描述】:
我已经编写并作为原始 SQL 查询工作,但我正试图将其转换为更 Laravel 雄辩/查询构建器设计,而不仅仅是原始查询。
我的表结构是这样的:
Table One (Name model)
______________
| id | name |
|------------|
| 1 | bob |
| 2 | jane |
--------------
Table Two (Date Model)
_________________________________
| id | table_1_id | date |
|-------------------------------|
| 1 | 1 | 2000-01-01 |
| 2 | 1 | 2000-01-31 |
| 4 | 1 | 2000-02-28 |
| 5 | 1 | 2000-03-03 |
| 6 | 2 | 2000-01-03 |
| 7 | 2 | 2000-01-05 |
---------------------------------
我只返回表 2(日期模型)中与表 1(名称模型)中的用户 bob 匹配的最高(最近)日期。
例如,在上面的示例中,我从查询中返回了这个
2000-01-31
2000-02-28
2000-03-03
这是我现在正在做的事情(有效),但我只是不确定如何将 YEAR、MONTH 和 MAX 与 laravel 一起使用。
DB::select(
DB::raw("
SELECT MAX(date) as max_date
FROM table_2
INNER JOIN table_1 ON table_1.id = table_2.table_1_id
WHERE table_1.name = 'bob'
GROUP BY YEAR(date), MONTH(date)
ORDER BY max_date DESC
")
);
【问题讨论】:
标签: laravel eloquent laravel-query-builder