在laravel中编写查询

时间:2015-10-30 05:36:13

标签: mysql database laravel

您好我是laravel框架的新手  我有一个MySQL查询。这个工作非常好。

select sample.name, ABS((COALESCE(sample.openingbalance, 0)) + COALESCE(trs.TotalAmount, 0)) from sample left join (select ledger,sum(amount) AS TotalAmount from transaction group by transaction.ledger) AS trs on sample.name = trs.ledger

我想编写此查询,以便在laravel框架中执行 我尝试了以下查询,但它无法正常工作

 DB::table('sample')->select('sample.name',abs((COALESCE('sample.openingbalance',0))+COALESCE('trs.totalamount',0)))->leftjoin('transaction','sample.name','=','transaction.ledger')->select('ledger','sum(amount) as totalamount')->groupBy('transaction.ledger as trs') ->get(); 

1 个答案:

答案 0 :(得分:0)

我认为你需要的是这个。

原始表达

有时您可能需要在查询中使用原始表达式。这些表达式将作为字符串注入到查询中,因此请注意不要创建任何SQL注入点!要创建原始表达式,可以使用DB :: raw方法: 示例代码

$users = DB::table('users')
                     ->select(DB::raw('count(*) as user_count, status'))
                     ->where('status', '<>', 1)
                     ->groupBy('status')
                     ->get();

了解更多信息,请参阅http://laravel.com/docs/5.1/queries#selects