У меня есть таблица под названием Категория с несколькими столбцами, и я пытаюсь получить только несколько из моей базы данных.Получение конкретных данных из базы данных
Так что я попытался это:
$sql = 'SELECT uppercat AS id, COUNT(uppercat) AS uppercat FROM category GROUP BY uppercat;';
$d = Yii::app()->db->createCommand($sql)->query();
Но я нахожу выход странно. Я пытался сделать array_shift, но я получаю сообщение об ошибке, что это не массив. Когда я делаю var_dump на $ D:
object(CDbDataReader)[38]
private '_statement' =>
object(PDOStatement)[37]
public 'queryString' => string 'SELECT uppercat AS id, COUNT(uppercat) AS uppercat FROM category GROUP BY uppercat;' (length=100)
private '_closed' => boolean false
private '_row' => null
private '_index' => int -1
private '_e' (CComponent) => null
private '_m' (CComponent) => null
Ок .. тогда я сделал Еогеасп на $ ID:
array
'id' => string '0' (length=1)
'uppercat' => string '6' (length=1)
array
'id' => string '3' (length=1)
'uppercat' => string '2' (length=1)
array
'id' => string '6' (length=1)
'uppercat' => string '1' (length=1)
array
'id' => string '7' (length=1)
'uppercat' => string '2' (length=1)
array
'id' => string '9' (length=1)
'uppercat' => string '2' (length=1)
Тогда почему я получаю сообщение, что $ ID не является массивом в то время как он содержит массивы?
Есть ли какой-либо другой способ, как получить некоторые данные из моей базы данных и что я могу сделать array_shift на них? Я также попытался сделать это с помощью findAllBySql, но тогда я не могу достичь своего атрибута для COUNT (uppercat), которого нет в моей модели. Думаю, мне пришлось бы добавить его в мою модель, но мне это не понравится, потому что мне нужно это только один раз.
Отлично работает, спасибо! – ifsession