我有一个有效的 SQL 查询。
SELECT stuid,grade,SUM(full_amount) FROM due_payments group by stuid having SUM(full_amount) !=15600
这在 MySQL 工作台和 phpmyadmin 中运行良好,但我似乎无法在 Laravel 5.3
中完成这项工作我在没有运气的Laravel应用程序上试过这个
$someVariable = Input::get(15600);
$results = DB::select( DB::raw("SELECT stuid,grade,SUM(full_amount) FROM due_payments
group by stuid having SUM(full_amount) =:somevariable)", array(
'somevariable' => $someVariable,
)));
有人可以帮我解决这个问题。谢谢。
答案 0 :(得分:1)
使用query builder
。
$results = DB::table('due_payments')
->select('stuid', 'grade',DB::raw('SUM(full_amount)'))
->groupBy('stuid')
->havingRaw('SUM(full_amount) != 15600')
->get();
答案 1 :(得分:1)
首先,如果所有Input :: get()都没有将值作为参数,但元素名称
$someVariable = Input::get(15600);
您可以使用$someVariable = 15600;
然后使用查询生成器而不是原始SQL查询
$results = DB::table('due_payments')
->select(array('stuid', 'grade', DB::raw('SUM(full_amount)')))
->groupBy('stuid')
->havingRaw('SUM(full_amount) != '.$someVariable)
->get();