метод populate

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
big_mike
Сообщения: 113
Зарегистрирован: 2013.02.26, 01:12

метод populate

Сообщение big_mike » 2013.07.25, 15:41

Объясните, что за метод появился новый populate(), каково его функциональное назначение?

Евгений Владимирович
Сообщения: 64
Зарегистрирован: 2012.11.19, 08:42

Re: метод populate

Сообщение Евгений Владимирович » 2013.07.25, 15:54

В yii 1
Было

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

if(isset($_POST['form']))
{
        $model->attributes=$_POST['form'];
} 
Сначало в yii2 сделали так

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

if ($this->populate($_POST, $model))
{
    
}
 
Потом заменил на load

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

if ($model->load($_POST) && $model->save()) {
         
}
 
Как-то так

big_mike
Сообщения: 113
Зарегистрирован: 2013.02.26, 01:12

Re: метод populate

Сообщение big_mike » 2013.07.25, 16:33

проверка на существование пост-переменной и присвоение пришедших данных, удобно однако

Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: метод populate

Сообщение lancecoder » 2013.07.25, 18:01

у меня как то так

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

    public function submitted($method='post')
    {
        $method=ucfirst(strtolower($method));
        if ($method==='Get')$method='Query';
        if (!in_array($method, array('Post','Put','Query','Delete')))
            throw new \CException('Method error');
        $method='get'.$method;
        $data=\Yii::app()->getRequest()->{$method}(get_class($this));
        if ($submitted=is_array($data))
            $this->setAttributes($data);

        return $submitted;
    } 
:roll:

Ответить