where(['act_id' => $activity_id])->select('goods_id')->column(); $delGids = array_diff($oldList, $gids); $addGids = array_diff($gids, $oldList); if($delGids){ self::deleteAll(['act_id' => $activity_id, 'goods_id' => $delGids]); } foreach($addGids as $item){ $model = new self(); $model->act_id = $activity_id; $model->goods_id = $item; $save = $model->save(); if(!$save){ \Yii::error([__METHOD__, $model->attributes]); return [ 'code' => 1, 'msg' => '商品信息保存失败:' . array_shift($model->getFirstErrors()), ]; } } } return [ 'code' => 0, 'msg' => 'ok', ]; } }