Yii модель для массива? - PullRequest
       60

Yii модель для массива?

31 голосов
/ 14 декабря 2010

Как я могу преобразовать результат Trips::model()->findAll() в массив?

Ответы [ 14 ]

2 голосов
/ 26 февраля 2013
$cats = Category::model()->findAll();
$count_cats = count($cats);
if($count_cats > 0){
    $arr_category = array();
    foreach($cats as $cat)
        array_push($arr_category,$cat->attributes);
}
print_r($arr_category);

-> результат

Array(
[0] => Array
    (
        [cat_id] => 2
        [title] => Đương đại
        [title_full] => Đương đại
        [desc] => 
        [alias] => duong-dai
        [p_id] => 0
        [type] => 1
        [status] => 1
        [sort_order] => 2
        [selected] => 0
    )
[1] => Array
    (
        [cat_id] => 164
        [title] => Nhiệt đới
        [title_full] => Nhiệt đới
        [desc] => 
        [alias] => nhiet-doi
        [p_id] => 0
        [type] => 1
        [status] => 1
        [sort_order] => 0
        [selected] => 0
    )
[...])
1 голос
/ 14 декабря 2010

Использовать DAO для массивов

$array = Yii::app()->db->createCommand('SELECT * FROM tbl')->queryAll();
0 голосов
/ 01 января 2019

Используйте просто:

$trips = Trips::model()->findAll();

$trips_array = CJSON::decode(CJSON::encode($trips));

Примечание: Это не очень хороший способ, но возвращает массив

0 голосов
/ 06 мая 2014

Не использовал CHtml :: listData для этого.Он должен быть использован для других целей.Существует index свойство CDbCriteria, которое соответствует вашему требованию.

//1st option
Trips::model()->findAll(array('index'=>'trip_id'));

//2nd option
$c = new CDbCriteria();
$c->index = 'trip_id';
Trips::model()->findAll($c);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...