您好我能够从两个表中获取值,现在我希望减去这两个值。我怎么能在laravel这里做到这一点?
public function displayBalance()
{
$results= DB::table('accountspayable')
->selectRaw('sum(accountspayable.amount) as sum')
->where('accountspayable.regnum','=','15459')
->get();
$subjects= DB::table('pay')
->selectRaw('sum(pay.amount) as sum')
->join('accountspayable','pay.accountno','=','accountspayable.accountno')
->where('accountspayable.regnum','=','15459')
->get();
return View::make('users.Balance')->with(array('results'=>$results,'subjects'=>$subjects));
}
答案 0 :(得分:0)
以这种方式尝试:
public function displayBalance()
{
$results = DB::table('accountspayable')->
where('regnum'. '='. '15459')->
sum('amount');
$subjects = DB::table('pay')->
join('accountspayable','pay.accountno','=','accountspayable.accountno')->
where('accountspayable.regnum','=','15459')->
sum('pay.amount');
return View::make('users.Balance', compact('results', 'subjects'));
}
您可能正在收集1条记录,其中包含1个属性(总和)。这是你基本上唯一需要的东西。因此,您可以直接在查询构建器中使用聚合函数来获取SUM值。
我也用过#34; compact"将刚刚检索到的值分配给视图。这不是必需的,但可以保存一些代码并且更易于阅读。