我使用的是CakePHP 2.X,问题是......在我的Order表中,考虑两个字段1. descount_amount
我在后台看到了总金额,还在Ajax表中给出了一个搜索字段。后台合计金额为这两个字段descount_amount + total之和。
我的CakePHP筛选器代码(搜索代码如下)
if (isset($this->request->data['CouponHistory']['order_amount']) && $this->request->data['CouponHistory']['order_amount'] != '') {
$this->Order = ClassRegistry::init('Order');
$this->Order->virtualFields = array('total_amount' => 'SUM(Order.discount_amount+Order.total)');
$order_id = $this->Order->find('list',array(
'contain' => array(),
'fields' => array('Order.id'),
'conditions' => array("Order.total_amount LIKE" => '%'.$this->request->data['CouponHistory']['order_amount'].'%'),
//'group' => 'Order.id'
));
echo "<pre>"; print_r($order_id); die;
$condition[] = array("CouponHistory.order_id" => $order_id);
}
如何在SQL中搜索此类型的数据。
发布于 2018-03-09 12:25:16
你可以做两个改变来使它工作。
所以你的条件看起来像这样:
‘'conditions’=>数组( 'sum(Order.discount_amount Order.total)‘=> $this->request->data’‘CouponHistory’)
https://stackoverflow.com/questions/49190140
复制