Всем привет!
Подскажите как правильно поступить в следующей ситуации:
Имеется форма регистрации, при прохождении которой пользователь попадает в БД.
На этой форме есть некоторые поля (типа "Я подтверждаю", "Я согласен", капча), которые не попадут в БД.
Лучше добавить поля в модель основанную на БД (CActiveRecord) или написать отдельную модель на основе CFormModel?
CFormModel или CActiveRecord
-
- Сообщения: 4
- Зарегистрирован: 2013.02.04, 10:16
Re: CFormModel или CActiveRecord
я обычно использую CActiveRecord
Re: CFormModel или CActiveRecord
Для таких вещей, ИМХО, проще CFormModel.
Потому как сценариев (а как следствие и валидаторов) может быть много разных для разных форм: 1) регистрация 2) изменение своих данных в личном кабинете 3) изменение пароля 4) изменение данных админом.
Был печальный опыт пихания этого всего в один CActiveRecord, в результате в сценариях можно было заблудиться.
Потому как сценариев (а как следствие и валидаторов) может быть много разных для разных форм: 1) регистрация 2) изменение своих данных в личном кабинете 3) изменение пароля 4) изменение данных админом.
Был печальный опыт пихания этого всего в один CActiveRecord, в результате в сценариях можно было заблудиться.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: CFormModel или CActiveRecord
Я тоже думаю что некоторые вещи стоит выносить в отдельную модель. Например, форма регистрации используется всего один раз для пользователя, пихать ее в модель пользователя, которая наоборот почти в каждом запросе используется, усложнит все.
Но я отказался напрочь от CFormModel использую CModel.
Но я отказался напрочь от CFormModel использую CModel.
Жду Yii 3!
-
- Сообщения: 4
- Зарегистрирован: 2013.02.04, 10:16
Re: CFormModel или CActiveRecord
Всем спасибо. Пока сделал через CActiveRecord, но при дальнейшем увеличении приложения наверно вынесу в отдельную модель.