Не удалось получить данные объекта Yii2, возвращенные как Json

Я новичок в структуре Yii 2 и PHP. Когда я пытаюсь получить данные модели с сервера как Json, я получаю пустые данные. Но когда я использую var_dump, я получаю результат. Код на контроллере приведен ниже.

// function inside class ClientController 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', ]; } } 

Когда я использую URL path pathToServer/web/client , я получаю результат, который будет отображаться как {}. Почему это так. Я использую MongoDB в качестве базы данных.

Импортировать веб-класс ответа:

 use yii\web\Response; 

Скажите Yii, какой формат вы хотите в результате, установив Yii::$app->response->format перед возвратом:

 public function actionExample() { Yii::$app->response->format = Response::FORMAT_JSON; $data = ["success" => true, "message" => "Hello"]; return $data; } 

Результат:

 { "success": true, "message": "Hello" } 

Вы можете прочитать о форматах ответов в документации .

Использование может использовать помощник JSON и вместо этого вернуть.

Прежде всего импортируйте помощник Yii2 JSON

 use yii\helpers\Json; 

Ваш код будет выглядеть так:

 public function actionIndex() { $client = new Client(); $client->name = "ajith"; return Json::encode($client); }