php yii框架 sql查询后有数据,但response中message为null,正常应该为“成功”

判断该用户是否有宝宝

        $babys = Babys::find()->where(['user_id'=>Yii::$app->user->id,'last_baby' => 1])->asArray()->one();
        if($babys){
            //没有宝宝
            return $this->response(0, '该用户没有宝宝');
        }else{
            return $this->response(1, '该用户拥有宝宝');
        }

debug模式下,

有宝宝的情况:

没有查到“暂无宝宝”

图片说明

message为“成功”

图片说明

没有宝宝的情况:

查询到数据库中存在“暂无宝宝”

图片说明
message为“null”

图片说明

为什么查询成功了,message仍然为null,而且这个message是从哪里默认加上去的,求大神指点!!

2个回答

自己看了response的方法,默认成功的code就是1,我自己设为0了,所以message一直为空

    protected $messages = [
        1 => '成功',
        10 => '请先登录',
        11 => '您没有权限',
        12 => '服务器异常',
        13 => '资源不存在',
        14 => '数据验证失败',
        15 => '资料未完善',
        100 => '未获取OpenID',
    ];
    protected function response($errorCode = 1, $data = null, $message = null)
    {
        if ($errorCode == 14 && $data != null) {
            $messages = array_values($data);
            if (isset($messages[0])) {
                if (is_array($messages[0])) {
                    $message = $messages[0][0];
                } else {
                    $message = $messages[0];
                }
            }
        }
        if ($message === null && isset($this->messages[$errorCode])) {
            $message = $this->messages[$errorCode];
        }
        $result = [
            'code' => $errorCode,
            'message' => $message
        ];
        if ($data !== null) {
            $result['data'] = $data;
        }
        return $this->asJson($result);
    }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问