我是Yii2框架和PHP的新手。当我尝试从服务器检索模型数据adb
时,我得到一个空的结果。但是,当我使用json
时,我得到一个非空的结果。
控制器类代码:
var_dump
模型类代码:
public function actionIndex() {
$client = new Client();
$client->name = "ajith";
echo json_encode($client);
}
当我使用网址路径class Client extends \yii\mongodb\ActiveRecord {
public static function collectionName() {
return ['gym', 'client'];
}
public function attributes() {
return ['_id', 'name', 'age', 'sex', 'phoneno', 'email', 'address', 'location'];
}
public function rules() {
return [
[['name', 'age', 'sex', 'phoneno', 'email', 'address', 'location'], 'safe']
];
}
public function attributeLabels() {
return [
'_id' => 'ID',
'name' => 'Name',
'age' => 'Age',
'sex' => 'Sex',
'phoneno' => 'Phoneno',
'email' => 'Email',
'address' => 'Address',
'location' => 'Location'
];
}
}
时,我会将结果回显为pathToServer/web/client
。为什么会这样?我使用MongoDB作为数据库。
答案 0 :(得分:10)
导入响应类:
use yii\web\Response;
在Yii::$app->response->format
return
,告诉Yii您想要的格式是什么?
public function actionIndex() {
Yii::$app->response->format = Response::FORMAT_JSON;
$data = ["success" => true, "message" => "Hello World"];
return $data;
}
回应结果:
{
"success": true,
"message": "Hello World"
}
您可以在yii2-cookbook
中阅读有关回复格式的信息