Сохранение данных полученных из произвольной формы.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Сохранение данных полученных из произвольной формы.

Сообщение Chelobaka »

Вопрос по сохранению данных.
Если в ActiveRecord достаточно вызвать save(), и создать сценарии где не будут проверяться определенные поля в разных формах.
То как правильно сохранять данные из модели потомка yii\base\Model.
Например модель ContactForm из стандартной сборки?
kwasti
Сообщения: 262
Зарегистрирован: 2016.01.28, 16:14

Re: Сохранение данных полученных из произвольной формы.

Сообщение kwasti »

Если равильно понял вопрос, то
Пример из стандартной LoginForm

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

    public function rules()
    {
        return [
            // username and password are both required
            [['username', 'password'], 'required'],
            // rememberMe must be a boolean value
            ['rememberMe', 'boolean'],
            // password is validated by validatePassword()
            ['password', 'validatePassword'],
        ];
    }
гуру меня возможно поправят, но первое правило, чтобы модель сохранялась это свойство должно быть объявлено как public
и второе это свойство должо быть объявлено в rules()

есть и другие более сложные способы сохранения, наприер переопределить методы put,get и создать свой список атрибутов по своимправилам
abutan
Сообщения: 31
Зарегистрирован: 2016.11.13, 17:26

Re: Сохранение данных полученных из произвольной формы.

Сообщение abutan »

Ну ContactForm не сохраняет свои данные никуда, а просто отсылает письма. Если вам надо сохранять , то будет таблица в базе куда это все будет сохраняться, то есть можно создать и класс модели. А что форма будет будет отнаследована от Model, то это не важно, просто в контроллере пишете, что $form = new Ваша форма, и если она загружена методом post и прошла валидацию, то выполнить такие то действия .
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Сохранение данных полученных из произвольной формы.

Сообщение andku83 »

https://github.com/andku83/yii2-starter ... rm.php#L78
yii\base\Model - не умеет сохранять, вы можете в собственной логике работать с данными и передавать сохранять их собственными методами
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: Сохранение данных полученных из произвольной формы.

Сообщение maleks »

Chelobaka писал(а): 2018.06.25, 17:05 Вопрос по сохранению данных.
Если в ActiveRecord достаточно вызвать save(), и создать сценарии где не будут проверяться определенные поля в разных формах.
То как правильно сохранять данные из модели потомка yii\base\Model.
Например модель ContactForm из стандартной сборки?
Загрузили в контроллере данные в форму, провалидировали ее и передаете эти данные уже в какой нибудь Сервис - просто класс, который не зависит от UI и что то с ними делает. Например (упрощенный вариант), создаст там AR модель, заполнит ее этими данными и сохранит, а может еще и письмо отправить если нужно и т.д.
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Re: Сохранение данных полученных из произвольной формы.

Сообщение Chelobaka »

Ясно, думаю ActiveRecord + scenario лучший вариант в моем случае
Ответить