如何将此查询更改为Laravel 5.5
"SELECT ROUND((COUNT(STATUS)/(SELECT COUNT(*) FROM data_ap))*100,1)
FROM data_ap WHERE STATUS LIKE '%UP%'";
答案 0 :(得分:2)
类似的东西:
\DB::table('data_ap')
->select(\DB::raw('ROUND((COUNT(STATUS)/(SELECT COUNT(*) FROM data_ap))*100,1) as calc'))
->where('STATUS','like','%UP%')
->get();
答案 1 :(得分:0)
我认为您必须使用Raw Expressions
保留原生查询,以获取更多https://laravel.com/docs/5.6/queries#raw-expressions
答案 2 :(得分:0)
@Muhammad Anwari:您只需指向目标列/别名即可
\DB::table('data_ap')
->select(\DB::raw('ROUND((COUNT(STATUS)/(SELECT COUNT(*) FROM data_ap))*100,1) as calc'))
->where('STATUS','like','%UP%')
->first()->calc;