Выборка всех записей из таблицы+вопрос по MVC

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zontik24
Сообщения: 25
Зарегистрирован: 2015.07.17, 20:46

Выборка всех записей из таблицы+вопрос по MVC

Сообщение zontik24 »

Есть запрос на выборку в контроллере: SiteController

Код: Выделить всё

$sql = "SELECT * FROM `users`";
        $query = User::model()->findBySql($sql);
        
        echo $query->name;
        
        $this->render('index', array(
            'query' => $query,
        ));
Вот представление: Index.php

Код: Выделить всё

<?php 
            print CHtml::dropDownList('drop', '', array(
                $query->name
            )); 
?>
Нужно сделать выборку всех имен пользователей, никак не получается ни через while/do-wile, ни через foreach. Выводит только первую запись
Через CDbCriteria не хочу обращаться. Как быть? Спасибо :)

Есть, также, вопрос по MVC: Хорошо ли обращаться к базе данных из контроллера, а результат выводить в представление. Интересует именно обращение из контроллера, это не противоречит структуре MVC? :)
Аватара пользователя
krosh87
Сообщения: 160
Зарегистрирован: 2015.02.18, 15:32
Контактная информация:

Re: Выборка всех записей из таблицы+вопрос по MVC

Сообщение krosh87 »

Веткой ошиблись

Код: Выделить всё

User::model()->findAllBySql($sql);
и через foreach,

Есть, также, вопрос по MVC: Хорошо ли обращаться к базе данных из контроллера, а результат выводить в представление. Интересует именно обращение из контроллера, это не противоречит структуре MVC?

Не противоречит
Разработка, продвижение, сопровождение сайтов на Modx, Bitrix, Yii http://www.webapplex.ru
zontik24
Сообщения: 25
Зарегистрирован: 2015.07.17, 20:46

Re: Выборка всех записей из таблицы+вопрос по MVC

Сообщение zontik24 »

Спасибо, krosh87
andreyrud
Сообщения: 265
Зарегистрирован: 2011.09.26, 14:59

Дополнительный вопрос по MVC.

Сообщение andreyrud »

Еще вопрос по MVC.

Есть сложная модель и не менее сложный GridView для нее. Так получается, что для отображения нужных колонок в нужном формате надо знать имена полей модели. Соответственно не получается скрыть все за геттерами. Таким образом не правильнее ли будет иметь и все обращения к модели и весь вывод с манипуляциями в одном месте - во view? Этим собираем всю работу в одном месте, а не раскидываем по контроллерам, представлениям, моделям и компонентам.
Ответить