public function save($returnJson = true)
 {
     $primaryKeys = $this->model->primaryKey();
     $primaryKey = $primaryKeys[0];
     $modelData = \Yii::$app->getRequest()->post($this->model->shortClassName());
     if (!empty($modelData[$primaryKey])) {
         $id = $modelData[$primaryKey];
         $this->model = $this->model->findOne($id);
         if (!$this->model) {
             return $returnJson ? $this->renderJson() : false;
         }
     }
     $this->model->setAttributes($modelData);
     foreach ($this->relations as $name => $value) {
         if (is_string($value)) {
             $value = \Yii::$app->getRequest()->post($value);
         } else {
             if ($value instanceof \Closure) {
                 $value = call_user_func($value);
             }
         }
         $indexKey = null;
         if (isset($value['indexKey'])) {
             $indexKey = $value['indexKey'];
             unset($value['indexKey']);
         }
         $this->model->setRelation($name, $value, $indexKey);
     }
     $result = $this->model->save();
     return $returnJson ? $this->renderJson() : $result;
 }