CakePHP 3:如何在finder结果的列中显示值的总和
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CakePHP 3:如何在finder结果的列中显示值的总和,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1910字,纯文字阅读大概需要3分钟。
内容图文
CakePHP: 3.1.4
我在我的表中有一个自定义查找程序功能,从本月获取所有记录,行“费用”保持小数值.
在视图中,我想用变量显示此选择中的费用值之和.我试图在Using SQL Functions书的帮助下解决这个问题
但我不明白如何在我的情况下正确使用语法.
表中的自定义查找器:
class TicketsTable extends Table
{
// find all tickets created this month
public function findThismonths(Query $query, array $options){
// get first and last day of month
$first_day_this_month = date('m-01-Y');
$last_day_this_month = date('m-t-Y');
$query
->select(['id', 'created', 'fee', 'extend_fee'])
->where([ function($exp) {
$first_day_this_month = date('Y-m-01');
$last_day_this_month = date('Y-m-t');
return $exp->between('Tickets.created', $first_day_this_month, $last_day_this_month, 'date');
}]);
return $query;
}
我可以很容易地得到记录的数量,但我不明白这是一个总和.
控制器:
class CashpositionsController extends AppController
{
public function overview()
{
$tickets = TableRegistry::get('Tickets');
$thismonths = $tickets->find('thismonths'); // get records with finder
$thismonths_count = $thismonths->count(); // get count of records
// that's what I want but this syntax does not exist in Cake...
$thismonths_sum = $thismonths->sum('fee'); // *nope*
// set to display in view
$this->set('thismonths_count', $thismonths_count);
$this->set('thismonths_sum', $thismonths_sum);
然后在视图中:
<tr>
<td>Number of tickets:</td>
<td><?= $thismonths_count ?></td>
</tr>
<tr>
<td>Sum of cash:</td>
<td><?= $thismonth_sum ?></td>
</tr>
<?php foreach ($thismonths as $ticket): ?>
<tr>
<td><?= h($ticket->id) ?> </td>
<td><?= h($ticket->created) ?> </td>
<td><?= h($ticket->fee) ?></td>
</tr>
<?php endforeach; ?>
书中有这个例子:
// Results in SELECT COUNT(*) count FROM ...
$query = $articles->find();
$query->select(['count' => $query->func()->count('*')]);
但是我不能用这样的方式来使用sum()来为我工作.
解决方法:
你可以使用Collection (manual)
$thismonths_sum = $thismonths->sumOf('fee');
内容总结
以上是互联网集市为您收集整理的CakePHP 3:如何在finder结果的列中显示值的总和全部内容,希望文章能够帮你解决CakePHP 3:如何在finder结果的列中显示值的总和所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。