Динамические поля в модели

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

Динамические поля в модели

Сообщение user »

DynamicModel не решает мою проблему
Есть некий REST и метод в нем
который принимает параметры

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

        $model = new Model();
        $model->load(\Yii::$app->getRequest()->getBodyParams(), '');
Изначально я не знаю, какие свойства придут в запросе, мне надо их прочитать и создать в модели динамически.

Пока такой способ нашел:

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

       
       $data = Json::decode(file_get_contents('php://input'), true);
       $model = new DynamicModel($data);
       
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Динамические поля в модели

Сообщение skynin »

создайте свою модель, а в ней свой load
который и записывает в модель что нужно, или все подряд (что странно)

-- Json::decode(file_get_contents('php://input'), true);
зачем?
\Yii::$app->getRequest()->getBodyParams() вернет массив, имя=>ключ

foreach (\Yii::$app->getRequest()->getBodyParams() as $name => $value) {

или в load
foreach ($loadData as $name => $value) {
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Ответить