public function actionUpdate($id) { $params = $this->getParams(); $goods = Goods::findByPk(new MongoId($id)); if (empty($goods)) { throw new BadRequestHttpException('Invalid goods id'); } if ($goods->status == Goods::STATUS_ON) { throw new BadRequestHttpException(Yii::t('product', 'goods_on_shelves')); } $goods->pictures = empty($params['pictures']) ? $goods->pictures : $params['pictures']; $goods->score = !isset($params['score']) ? $goods->score : $params['score']; $goods->total = !isset($params['total']) ? $goods->total : $params['total']; $goods->description = isset($params['description']) ? $params['description'] : $goods->description; $goods = Goods::setGoodsStatusAndTime($params, $goods); $goods->receiveModes = empty($params['receiveModes']) ? '' : $params['receiveModes']; $goods->addresses = empty($params['addresses']) ? [] : $params['addresses']; if ($goods->save(true)) { $goods->_id = (string) $goods->_id; return $goods; } else { throw new ServerErrorHttpException('save error'); } }