mysql - 如何将此 SQL 查询转换为 Laravel 语法?

标签 mysql sql laravel eloquent

这是我的 MySQL 查询(在 phpMyAdmin 中工作):

    SELECT waktu_kerusakan, workcenter, COUNT(workcenter) AS jumlah_repair 
    FROM repair WHERE year(waktu_kerusakan)='2019'  GROUP BY workcenter , 
    month(waktu_kerusakan) BETWEEN 1 and 6 Order By jumlah_repair Desc

然后,我尝试像下面这样使用 Laravel 语法(不起作用):

    $sql = Main::groupBy('workcenter')->select('workcenter', \DB::raw('count(*) as frekuensi'))
                ->whereYear('waktu_kerusakan', 'like',  "%".$tahun."%")
                ->OrderBy('frekuensi', 'Desc')
                ->groupBy(\DB::raw("MONTH(waktu_kerusakan)"), [1, 6])
                ->get();

请任何人帮助我将 MySQL 查询转换为 Laravel 语法。谢谢!

最佳答案

试试这个。

    $repair = DB::table('repair')
    ->select('waktu_kerusakan','workcenter', DB::raw('COUNT(workcenter) AS jumlah_repair'))
->whereYear('waktu_kerusakan', $tahun)
    ->groupBy(DB::raw("MONTH(waktu_kerusakan)"), 'workcenter')
  ->whereIn(DB::raw('MONTH("waktu_kerusakan")'),[1, 6])
    ->orderBy('frekuensi', 'DESC')
    ->get()

关于mysql - 如何将此 SQL 查询转换为 Laravel 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58741452/

相关文章:

mysql - SQL查询搜索删除字符串的结尾

php - SQL 查询语法错误?

php - Laravel 是否支持队列 worker 的超时选项?

mysql - JoinClause.php 第 79 行中的 InvalidArgumentException : Not enough arguments for the on clause

python - Django DateTimeField 日期过滤器不起作用

php - mysql中的select查询总是返回空结果

sql - 在配置单元中加入具有几乎相同模式的表

php - 检查用户是否激活他/她的帐户的最有效方法?

mysql - WSO2 Identity Server 的新站立,将用户存储更改为 MariaDB,缺少几个表

java - Android HttpURLConnection接收HTTP 301响应代码