我从数据库收集数据,数据基于用户ID,即我根据用户ID从数据库表中选择数据。现在所选结果有一些值(数字);如何检查该数字的总和是否等于某个数量?
使用Laravel 5.4,我按如下方式查询我的数据库:
$money = $DBTable::where('id', Auth::user()->id)->get();
现在我有一个名为cash
的专栏如何获得现金列的总和?
什么是代码,因为结果是一个对象我做一个foreach循环
foreach ($money as $key => $value) {
count($money->cash);
}
这将返回值的数量:
foreach ($money as $key => $value) {
echo $earn->earned_amount + $earn->earned_amount;
}
这会将个人价值加起来,所以请有人告诉我这是怎么做的吗?
答案 0 :(得分:0)
有两种方法可以做到这一点:
“查询”构建器方式(https://laravel.com/docs/5.4/queries#aggregates)
DB :: table('表名') - >其中(' user_id',Auth :: user() - > id) - > sum(&# 39;现金&#39);
雄辩的方式(https://laravel.com/docs/5.4/collections#method-sum)
验证::用户() - > cashTransactions->摘下('现金') - >总和('价格&#39);
我假设您的表$ DBTable附加了一个模型,并且您在表的模型和用户模型之间定义了关系
要定义您的关系:
用户模型中的:
public function cashTransactions()
{
return $this->hasMany('App\CashTransactions');
}
CashTransactions模型中的:
public function user()
{
return $this->belongsTo('App\User');
}
编辑:您还可以使用相同的模型(自我关系)在模型中定义关系