我在 Laravel 5.2 中遇到了 eloquent 的问题
我想要实现的是(希望)完成这些步骤的查询:
- updated_at >= value1
- updated_at <= value2
- 事件 = 值 3
- groupBy = value4
- 计算每个“组”的条目数(每个按组分组)
输出:每组最新的updated_at(max(updated_at))和每组的计数值
我目前拥有的是:
表“日志”概述:
---------------------------
| id | increment |
-----------------------------
| key | varchar(255) |
-----------------------------
| video_id | varchar(255) |
-----------------------------
| event | varchar(255) |
-----------------------------
| created_at | timestamp |
-----------------------------
| updated_at | timestamp |
-----------------------------
在 Laravel 中查询:
$showed = self::where('updated_at','>=',$value1)->where('updated_at','<=',$value2)->where('event',$value3)->groupBy($avlue4)->get();
我缺少的是第 5 步和结果输出。而且我不知道如何将它包含到 Laravel Eloquent 语言中。
问题:有没有人对如何实现这个查询有具体的想法?如果不可能,应采取哪些步骤?
最佳答案
你可以像这样传递一组条件:
$showed = DB::table('tableNameHere')->where([
['updated_at', '>=', $month_start],
['updated_at', '<=', $month_end],
['event', '=', 'showed'],
])->groupBy('id')->get();
要计算条目数,您可以这样尝试:
$results = $showed->count();
无法测试代码。让我知道这是否有效。
关于php - Laravel 5.2 在 Eloquent SQL 查询中遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465631/