Как преобразовать этот SQL-запрос в синтаксис Laravel? - PullRequest
0 голосов
/ 07 ноября 2019

Здесь мой 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. Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Попробуйте этот запрос:

$sql = Main::select('workcenter', \DB::raw('count(*) as frekuensi'),\DB::raw('MONTH(waktu_kerusakan) as waktu_kerusakan_month'))
            ->where('waktu_kerusakan',$tahun)
            ->whereBetween('waktu_kerusakan_month',[1, 6])
            ->groupBy('workcenter','waktu_kerusakan_month')
            ->OrderBy('jumlah_repair', 'Desc')
            ->get();
0 голосов
/ 07 ноября 2019

Попробуйте это.

    $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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...