2015-07-28 20 views
3

我想查找count和concatinate在我的字段中計數,但它發出錯誤消息,因爲找不到make_count並創建了上面相同的字段。在Cakephp中建立和計數字段

$this->Car->virtualFields['make_count'] = 'COUNT(Car.car_make)'; 
$this->Car->virtualFields['make_concat']='CONCAT(Car.car_make,Car.make_count)'; 

$models = array_unique($this->Car->find('list',array( 
       'fields' => array('Car.car_make', 'Car.make_concat'), 
       'conditions'=>array('Car.ad_status'=>'saved'), 
       'order'=>array('Car.car_make'=>'Asc'), 
       'contain'=>false, 
       'group'=>array('Car.car_make') 
      ) 
)); 
+0

我得到的溶液,我改變的代碼:$這 - > CAR-> virtualFields [ 'make_count'] =「CONCAT(Car.car_make, 「(」,COUNT(Car.car_make ),「)」)'; \t \t \t \t \t \t $模型= array_unique($這個 - >小車 - >找到( '名單',陣列( \t \t \t \t \t '域'=>陣列( 'Car.car_make', 'Car.make_count'), \t \t \t \t \t '條件'=>數組( 'Car.ad_status'=> '保存'), \t \t \t \t \t「O刻申 '=>數組(' Car.car_make '=>' 升序 '), \t \t \t \t \t '包含'=>假, \t \t \t \t \t '基團'=>數組(' Car.car_make') \t \t \t \t) \t \t \t)); –

+1

請創建一個答案,並接受它。不要寫這樣的評論。 – AD7six

回答

1
Try: 
$this->Car->virtualFields['make_concat']='CONCAT(Car.car_make,COUNT(Car.car_make))'; 

$models = array_unique($this->Car->find('list',array( 
       'fields' => array('Car.car_make', 'Car.make_concat'), 
       'conditions'=>array('Car.ad_status'=>'saved'), 
       'order'=>array('Car.car_make'=>'Asc'), 
       'contain'=>false, 
       'group'=>array('Car.car_make') 
      ) 
));