その場で仮想フィールドを作成したいと思います。
私の注文と注文の詳細は...
//Order Model
class Order extends AppModel {
public $name = 'Order';
public $actsAs = array('Containable');
public $hasMany = array(
'OrderDetail' => array(
'className' => 'OrderDetail',
'foreignKey' => 'order_id',
'dependent' => true
),
);
}
//OrderDetail Model
class OrderDetail extends AppModel {
public $name = 'OrderDetail';
public $actsAs = array('Containable');
public $belongsTo = array(
'Order' => array(
'className' => 'Order',
'foreignKey' => 'order_id',
'dependent' => true
),
);
}
モデル関係はこんな感じ。注文のページネーションでアイテムの数とそのコストをカウントできるように、その場で仮想フィールドを作成しています。の奇妙な方法を知っていrequestAction
ます。私が自分の仕事を遂行できる他の方法はありますか。
私の試したコードは
$this->Order->virtualFields['totalCost'] = 0;
$this->Order->virtualFields['totalItem'] = 0;
$fields = array('Order.id', 'Order.order_key', 'Order.delivery_date','COUNT(`OrderDetail`.`order_id`) AS `Order__totalItem`', 'SUM(`OrderDetail`.`cost`) AS `Order__totalCost`');
$this->paginate['Order'] = array("fields"=>$fields, 'conditions' => array("AND" => array($condition, "Order.status" => 3)), 'limit' => '50', 'order' => array('Order.id' => 'DESC'));
mysql not found 列で終わりますUnknown column 'OrderDetail.order_id' in 'field list'
。私は、モデルを再帰的にしたり、バインドしたりして、何か他のものを見つけていません。なぜこのエラーが生成されるのですか? どうすれば目標を達成できますか。