【发布时间】:2016-09-15 05:06:00
【问题描述】:
我希望在提取记录中合并两个虚拟字段。但我只为一个虚拟字段完成了它,另一个返回 null。
我很困惑如何返回两个虚拟字段数据。其中一个很好。
下面是代码 在model/Entity/Order.php中
protected $_virtual = ['due','paid'];
protected function _getDue() {
return $this->_properties['collection']['due_amount'];
return $this->_properties['collection']['total_sale_amount']-$this->_properties['collection']['due_amount'];
}
下面是输出
[
{
"id": 20,
"collection": {
"id": 150,
"order_id": 20,
"total_sale_amount": 110,
"net_paid": 10,
"due_amount": 70,
"is_paid": 1,
"payment_mode": "DD",
"reference_num": "",
"created": "2016-09-09T00:00:00+0000"
},
"due": 70,
"paid": null
}
]
这里的payed是null,但应该是110-70 = 40。
如果我保留任何一个而不是 2 个,我就会得到我应该需要的东西。
请给我建议。 任何建议将不胜感激。 :)
【问题讨论】:
-
你不能在一个函数中写两个返回值。第二条语句永远不会执行。
-
@Ravi Hirani 是的,我知道,这行不通。但是有什么办法可以一次得到两个结果。
-
创建另一个函数并将第二条语句写入其中。因为您正在使用返回值。或者在单个函数中,返回一个数组并将机器人值放入一个数组中。
标签: php cakephp-3.x cakephp-3.2