フェッチレコードに2つの仮想フィールドをマージする必要があります。しかし、1つの仮想フィールドに対してのみ実行しました。もう1つはnullを返します。cakephpで複数の仮想フィールドデータを取得する方法3.2
私は2つの仮想フィールドデータを返す方法をかなり混乱しています。
以下は出力ここで支払わ
[
{
"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
}
]
がnull来ているが、110に来る必要がありますされたコードの下にモデル/エンティティ/ 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'];
}
です-70 = 40。
私が2の代わりに1つを保持している場合、私は必要としているものを得ています。
お願いします。 ご意見は高く評価されます。 :)
1つの関数に2つのリターンを書き込むことはできません。 2番目のステートメントは決して実行されません。 –
@Ravi Hiraniはい、私は知っている、それは動作しません。 しかし、私は一度に2つの結果を得ることができるように、何らかの方法があります。 – sradha
別の関数を作成し、2番目の文を書き込んでください。戻り値を使用しているためです。 1つの関数でORを返し、配列を返し、ボットの値を配列に格納します。 –