php - Laravel 5.2 在 Eloquent SQL 查询中遇到问题

标签 php mysql laravel-5

我在 Laravel 5.2 中遇到了 eloquent 的问题

我想要实现的是(希望)完成这些步骤的查询:

  1. updated_at >= value1
  2. updated_at <= value2
  3. 事件 = 值 3
  4. groupBy = value4
  5. 计算每个“组”的条目数(每个按组分组)

输出:每组最新的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/

相关文章:

php - 使用 PDO 和 bootstrap 向现有 html 表添加新行

mysql - 检索 SQL 值

curl - Laravel 项目使用来自另一个项目的 .env 变量

javascript - 如何使用具有浏览器兼容性的jquery获取文件上传的base_64字符串?

php - 使用 html 标签搜索字符串

php - 如何验证数据库中是否存在重复记录?

mysql - 如何在 Node mysql 中使用 IF EXISTS 语句?

Mysql json 数据类型

javascript - 始终提交相同的表格

laravel - 如何捕获 Laravel 5 中的异常/缺失页面?