Ответы пользователя по тегу JSON
  • Yii2 REST: Как правильно обработать post-запрос, в котором передается json-коллекция?

    tkutru
    @tkutru
    A programming cat.
    Получаете post данные, декодируете их в массив, траверсите массив и грузите данные в модели и сохраняете их. Допустим вы передаете данные в post параметре arr а модель у вас называется Model
    $data = json_decode(\Yii::$app->request->post('arr'), true);
    foreach ($data as $chunk) {
        $model = new Model();
        $model->attributes = $chunk;
        $model->save();
    }

    Чтобы модель корректно сохранилась в бд нужно чтобы ее свойства удовлетворяли ее правилам валидации (см. метод rules в классе модели). Если не сохраняется в бд, можно проверять на ошибки, например вместо обычного сохранения прописывать
    if (!$model->save()) {
        var_dump(['erorrs' => $model->errors]);
    }

    Ошибки выводятся в STDOUT просто для наглядности примера, вообще конечно их лучше не выводить сразу а логировать куда-то или оформлять в нормальный api ответ запрашивающему.
    Ответ написан
    Комментировать