判断该用户是否有宝宝
$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是从哪里默认加上去的,求大神指点!!
自己看了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);
}