如何使用Laravel Elequent编写此SQL查询

如何使用Laravel Elequent编写此SQL查询,laravel,eloquent,Laravel,Eloquent,我在拉拉维尔试过,但没用。我无法让它工作,当我直接在PHPMyAdmin上使用它时,它工作了 SELECT service, count(*) as total_count, sum(if(status ='Successful',1,0)) as successful_count, sum(if(status ='Failed',1,0)) as failed_count FROM `wallet_ledgers` WHERE operator = "-" AND user

我在拉拉维尔试过,但没用。我无法让它工作,当我直接在PHPMyAdmin上使用它时,它工作了

SELECT service,
count(*) as total_count,
sum(if(status ='Successful',1,0)) as successful_count,
sum(if(status ='Failed',1,0)) as failed_count
FROM `wallet_ledgers`
WHERE operator = "-"
AND user_id = 5
group by service

这是所需的输出

您可以使用
DB::raw

链接:

$result = DB::table('wallet_ledgers')
                     ->select(DB::raw("service, count(*) as total_count, sum(if(status ='Successful',1,0)) as successful_count, sum(if(status ='Failed',1,0)) as failed_count"))
                     ->where([
                             [ 'operator', '=', '-'],
                             ['user_id', '=', '5'],
                             ])
                     ->groupBy('service')
                     ->get();