Несколько вопросов новичка по архитектуре приложения на Yii

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
GoodLuck777
Сообщения: 7
Зарегистрирован: 2013.09.15, 18:43

Несколько вопросов новичка по архитектуре приложения на Yii

Сообщение GoodLuck777 »

1. Начал изучать Yii, подтолкните в нужное русло, например, у меня есть форма с запросами к БД основанными на дате, где можно выбрать отчет по году, месяцу или по конкретной дате - собственно мне требуется подхватить параметры даты и немного поработать с ней (введен ли день? введен ли месяц? верна ли дата? ну и т.п.) - так вот, сначала я хотел эти проверки делать в контроллере, а потом уже искать в базе (через вызов модели) с нужными параметрами, но может быть правильнее будет в самой моделе производить все проверки на валидацию, существование даты и тому подобное?

2. Правильно ли я понимаю принцип relationships в моделях - создаю модель (Users) и в ручную настраиваю все связанные с таблицей Users отношения к другим таблицам - после чего после однократной настройки я уже могу по всякому делать запросы что будет экономить мне кучу времени и не надо писать запросы с join'ами и т.п. - фреймворк сам все сделает?
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: Несколько вопросов новичка по архитектуре приложения на

Сообщение masson »

1. Проверки надо делать в CFormModel. Вот здесь примерно то же, только для логина пользователей - введен ли логин, введен ли пароль итд
http://yiiframework.ru/doc/guide/ru/form.model
http://yiiframework.ru/doc/guide/ru/form.action
http://yiiframework.ru/doc/guide/ru/form.view

На странице "Создание действия", после кода if($model->validate()) - вместо того редиректа который в примере, вам нужен редирект на действие, которое выполняет ваши отчеты


2. Да, все правильно. См.здесь - http://yiiframework.ru/doc/guide/ru/database.arr глава "Выполнение реляционного запроса"
GoodLuck777
Сообщения: 7
Зарегистрирован: 2013.09.15, 18:43

Re: Несколько вопросов новичка по архитектуре приложения на

Сообщение GoodLuck777 »

masson писал(а):1. Проверки надо делать в CFormModel. Вот здесь примерно то же, только для логина пользователей - введен ли логин, введен ли пароль итд
http://yiiframework.ru/doc/guide/ru/form.model
http://yiiframework.ru/doc/guide/ru/form.action
http://yiiframework.ru/doc/guide/ru/form.view

На странице "Создание действия", после кода if($model->validate()) - вместо того редиректа который в примере, вам нужен редирект на действие, которое выполняет ваши отчеты
Спасибо, правильно ли я понимаю что мне понадобится две модели - одна это форма которая проверит данные, а вторая - сделает выборку из БД и к обоим этим моделям я буду обращаться из контроллера?
Ответить