繁体   English   中英

在laravel中减去两个表

[英]Subtracting two tables in laravel

嗨,我能够从两个表中获取值,现在我希望将这两个值相减。 我如何在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));
}   

尝试这种方式:

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值。

此外,我还使用“紧凑”将刚刚检索的值分配给视图。 这不是必需的,但可以节省一些代码并且更易于阅读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM