我需要在页面中显示总计数。
我可以运行这个&循环通过&得到总数
DB::table('table1')
->select((DB::raw('MAX(score)')))
->where('status', 1)
->groupBy('user_id')
->get();
但是这个查询只会在一个查询中给我一个计数。我不需要运行任何额外的循环来获得总数。
SELECT COUNT( * ) FROM (
SELECT MAX( score ) FROM table1
WHERE status =1
GROUP BY user_id
) AS totalCounter
我想如何在Laravel 4中运行此RAW查询?
答案 0 :(得分:9)
尝试
DB::statement( 'Your Query' );
或
DB::select( 'Your Query' );
答案 1 :(得分:6)
正如其他贡献者所提到的那样; -
DB::select('SQL QUERY GOES HERE WITH PARAMETERS ?, ?', array('parameter 1', 'parameter 2'));
上面的代码应该允许原始sql。
然而,
DB::table('table1')
->select((DB::raw('MAX(score)')))
->where('status','=', 1)
->groupBy('user_id')
->count();
应该为你所寻求的任务达到同样的效果,并且更符合laravels哲学。
答案 2 :(得分:2)
DB::select(DB::raw("SQL QUERY CODE HERE"))
raw和select都是必需的!
请参阅更多信息: Laravel 4: how to run a raw SQL?
答案 3 :(得分:0)
试试这个
DB::select( DB::raw("SELECT * FROM table_Name WHERE col = :somevariable"), array(
'somevariable' => $someVariable,
));