Я предполагаю, что вам нужно извлечь только пустые массивы, а не любые связанные объекты модели.
Это сделает это:
$model = Trips::model();
$trips = $model->getCommandBuilder()
->createFindCommand($model->tableSchema, $model->dbCriteria)
->queryAll();
ЭтоЭто как Yii::app()->db->createCommand('SELECT * FROM tbl')->queryAll();
примеры, за исключением:
Он запросит у модели имя таблицы;вам не нужно будет указывать имя таблицы как в модели, так и в запросе.
Вы можете вызвать scoping функции сначала $model
, например.
$model = Trips::model()->short()->destination('Austin, TX');
Это означает, что вы можете использовать существующие ярлыки запросов модели, вместо того, чтобы помещать их в запрос напрямую.
В отличие от $trips = Trips::model()->findAll();
(с использованиемforeach) немного расточительно, потому что вы извлекаете строки из базы данных, настраиваете кучу объектов, а затем отбрасываете их все.Это будет хорошо работать для небольших наборов результатов, но я бы не стал использовать это, если вы смотрите длинный список поездок.
Предупреждение:
Если это простобыстрый прототип, тем не менее, непременно используйте примеры createCommand()
или findAll () - and-loop.