Yii 1当插入一个值时,查询值会改变,即使该查询之前在SOAP WS上执行过

iyfamqjs  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在调用一个用PHP编写的SOAPWS方法,该方法只需要调用一次,第一次调用时,它会在数据库中创建一条记录,如果再次调用它,则会从WS中抛出一条错误消息
问题发生在我调用服务时,因为它总是采用条件的else路径,即使是第一次调用,查看执行流时,我发现当$this-〉createRequest($params);它总是创建记录并将$model值更改为非空值,并抛出错误,因为它不是第一次调用
我代码:

public function wsMethod(){
$model = Certificate::model()->find('codeValidate = :code',[':code' => $params->codeValidate]);
if(!is_null($model)){
    throw new SoapFault(self::ERROR_VAL_3['code'], self::ERROR_VAL_3['message']);
}else{
    $this->createRequest($params);
    return ['code' => self::SUCCESS_VAL_1['code'], 'message' => self::SUCCESS_VAL_1['message']];
}
}```
brc7rcf0

brc7rcf01#

请按以下方式更改您的代码:

public function wsMethod(){
$model = Certificate::model()->find('codeValidate = :code',[':code' => $params->codeValidate]);
  if($model){
    $this->createRequest($params);
      return ['code' => self::SUCCESS_VAL_1['code'], 'message' => self::SUCCESS_VAL_1['message']];

  }else{
      throw new SoapFault(self::ERROR_VAL_3['code'], self::ERROR_VAL_3['message']);
  }
}

相关问题