Sto cercando di costruire una query che ha un attributo group by
, im centratura per ottenere il id
e la count
si continua a dirmi che la count (*)
è valida colonna nome come potrei ottenere il count
dalla query group by
??nei criteri di Yii come ottenere il conteggio (*)
risposta
Il lavoro è con pseudonimo. Yii 1.1.11. Fallisce altra
$criteria= new CDbCriteria();
$criteria=array(
'group'=>'attribute',
'select'=>'id,count(*) AS cc'
);
Quindi come posso accedervi allora? '$ x = X :: model() -> findAll (...); $ x [0] -> cc' non funziona .. –
Lo fa se aggiungo la variabile nel modello: 'classe X .. {public $ cc;'. Dopodiché, '$ x [0] -> cc' funziona. –
$criteria= new CDbCriteria();
$criteria=array(
'group'=>'attribute',
'select'=>'id,count(*) AS cc',
'distinct'=>true,
);
Questa non è esattamente una risposta alla tua domanda, ma potrebbe ancora essere utile per voi. Se si utilizza il risultato di guardare solo fino un conteggio per un attributo specifico, non è necessario per fecth un intero array, ma utilizzare count
il metodo di Yii:
$criteria= new CDbCriteria();
$criteria.compare('col_name', $desired_col_value);
$count = X::model()->count($criteria);
può u pls mostrare il codice di lavoro – Gopesh
si usa metodo() o stai provando qualcosa come 'Yii :: app() -> db-> createCommand() -> seleziona ('id, nome utente, profilo') -> da ('tbl_user u') -> join ('tbl_profile p', 'u.id = p.user_id') -> dove ('id =: id', array (': id' => $ id)) -> queryRow(); ' –
la risposta è che dobbiamo dare il' 'count (*)' 'nome alias come' 'count (*) come count'' – Hilmi