【发布时间】:2017-01-23 05:53:11
【问题描述】:
我已经在 model/entity/Order.php 中实现了虚拟字段。
但我只想访问一页,我不希望它被所有功能调用。所以在控制器中我如何访问虚拟字段以便它仅适用于我需要的部分。
在 cakephp 2x 版本中,我已经为控制器制作了,但这次在 3X 中我无法制作它。
下面我附上了一些代码
任何建议将不胜感激。 谢谢。
模型/实体/Order.php
protected $_virtual = ['amount'];
protected function _getAmount() {
$data = [];
$data['due'] = $this->_properties['collection']['due_amount'];
$data['paid'] = $this->_properties['collection']['total_sale_amount'] - $this->_properties['collection']['due_amount'];
return $data;
}
控制器中的代码
$Lists = $this->Orders->find('all')->where($condition)->contain(['Collections','Customers'=> ['queryBuilder' => function ($q) {
return $q->select(['id','center_name']);
}],])->order(['Orders.due_date ASC']);
【问题讨论】:
标签: php cakephp cakephp-3.x cakephp-3.2