GA黄金甲

laravel sum 差别条件

laravel是一种盛行的php开发框架,它提供了许多利便的函数和语法来提高开发效率 。其中,sum函数是在laravel中非经常用的一个函数,可以对一个荟萃中的值举行求和操作 。可是在现实开发中,我们有时需要在差别的条件下举行求和,这时该怎样应对呢?本文将先容laravel怎样在差别条件下举行sum求和操作 。

一、简朴情形下的sum操作

在Laravel中,我们可以很利便地对一个荟萃举行sum操作,只需挪用sum函数即可 。例如,对一个数组举行求和:

$sum = collect([1, 2, 3, 4, 5])->sum();

登录后复制

这个例子中,$sum的值为15,即1+2+3+4+5的和 。

类似地,若是我们有一个工具数组,想要对其中的某个属性举行求和,可以这样操作:

$sum = collect([
    ['name' => 'Alice', 'score' => 80],
    ['name' => 'Bob', 'score' => 90],
    ['name' => 'Charlie', 'score' => 70]
])->sum('score');

登录后复制

这个例子中,$sum的值为240,即80+90+70的和 。

二、条件求和操作

在现实开发中,我们经常需要在差别的条件下举行sum操作,这时就需要用到Laravel中的where函数 。where函数可以凭证指定的条件过滤荟萃中的值 。例如,我们有一个用户数组,每个用户都有姓名和年岁两个属性,想要盘算所有年岁大于18岁的用户年岁之和,可以这样操作:

$users = collect([
    ['name' => 'Alice', 'age' => 20],
    ['name' => 'Bob', 'age' => 16],
    ['name' => 'Charlie', 'age' => 25]
]);

$sum = $user->where('age', '>', 18)->sum('age');

登录后复制

这个例子中,$sum的值为45,即20+25的和 。

类似地,若是我们有一个订单数组,每个订单都有一个状态属性,想要盘算所有已完成订单的金额之和,可以这样操作:

$orders = collect([
    ['id' => 1, 'status' => 'created', 'amount' => 10],
    ['id' => 2, 'status' => 'completed', 'amount' => 20],
    ['id' => 3, 'status' => 'cancelled', 'amount' => 30],
    ['id' => 4, 'status' => 'completed', 'amount' => 40]
]);

$sum = $orders->where('status', 'completed')->sum('amount');

登录后复制

这个例子中,$sum的值为60,即20+40的和 。

三、凭证多个条件求和

有时间,我们需要凭证多个条件举行sum操作 。这时可以使用Laravel中的where函数的链式挪用来实现 。例如,我们有一个用户数组,每个用户都有姓名、年岁、地区三个属性,想要盘算所有地区为北京、年岁大于18岁的用户年岁之和,可以这样操作:

$users = collect([
    ['name' => 'Alice', 'age' => 20, 'area' => 'Beijing'],
    ['name' => 'Bob', 'age' => 16, 'area' => 'Shanghai'],
    ['name' => 'Charlie', 'age' => 25, 'area' => 'Beijing']
]);

$sum = $user->where('age', '>', 18)->where('area', 'Beijing')->sum('age');

登录后复制

这个例子中,$sum的值为20,即Alice的年岁 。

类似地,若是我们有一个订单数组,每个订单都有一个状态属性和一个日期属性,想要盘算所有已完成订单中2019年1月1日之后的订单金额之和,可以这样操作:

$orders = collect([
    ['id' => 1, 'status' => 'created', 'amount' => 10, 'date' => '2019-01-01'],
    ['id' => 2, 'status' => 'completed', 'amount' => 20, 'date' => '2019-01-05'],
    ['id' => 3, 'status' => 'cancelled', 'amount' => 30, 'date' => '2018-12-31'],
    ['id' => 4, 'status' => 'completed', 'amount' => 40, 'date' => '2019-02-01']
]);

$sum = $orders->where('status', 'completed')->where('date', '>', '2019-01-01')->sum('amount');

登录后复制

这个例子中,$sum的值为20,即第二个订单的金额 。

综上所述,Laravel的sum函数和where函数很是利便适用,可以资助我们快速地完成条件求和操作 。在现实开发中,我们可以凭证差别的需求无邪运用这些函数,提高开发效率 。

以上就是laravel sum 差别条件的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考 。本文接待转载,转载请说明来由 。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除 。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】