Jquery 获取控制器上与yii2相关的数据

Jquery 获取控制器上与yii2相关的数据,jquery,json,yii2,yii2-advanced-app,yii2-basic-app,Jquery,Json,Yii2,Yii2 Advanced App,Yii2 Basic App,我有这样的数据: 表反馈,带有实体:id\u反馈(主键)、id\u用户(外键)、反馈 表用户,实体为:id\u用户(主键),用户名 用户有很多反馈,反馈有一个用户 我在app/controller/feedback中创建json public function actionGetReplayFeedback($ID_KOMENTAR) { $replay = Feedback::find()->where('REPLAY_TO_ID = '. $ID_KOMENTAR)->a

我有这样的数据:

表反馈,带有实体:
id\u反馈(主键)、id\u用户(外键)、反馈

表用户,实体为:
id\u用户(主键),用户名

用户有很多反馈,反馈有一个用户

我在
app/controller/feedback
中创建json

public function actionGetReplayFeedback($ID_KOMENTAR)
{
    $replay = Feedback::find()->where('REPLAY_TO_ID = '. $ID_KOMENTAR)->all();
    echo Json::encode($replay);
}

我得到了json,但没有得到
用户名
。如何获取
用户名

您只需尝试:

public function actionGetReplayFeedback($ID_KOMENTAR)
{
    \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
    return Feedback::find()->with(['user'])->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])->asArray()->all();
}
阅读更多:


您只需尝试:

public function actionGetReplayFeedback($ID_KOMENTAR)
{
    \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
    return Feedback::find()->with(['user'])->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])->asArray()->all();
}
阅读更多:


您只需尝试:

public function actionGetReplayFeedback($ID_KOMENTAR)
{
    \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
    return Feedback::find()->with(['user'])->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])->asArray()->all();
}
阅读更多:


您只需尝试:

public function actionGetReplayFeedback($ID_KOMENTAR)
{
    \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
    return Feedback::find()->with(['user'])->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])->asArray()->all();
}
阅读更多:


soju是正确的,如果您只想选择一些列(因此不会返回模型反馈和用户的所有列),您可以将select修改为如下内容

$items = \app\models\Feedback::find()
->with(['user' => function($q) {
    $q->select(['id_user', 'username']);
}])
->select(['id_feedback', 'feedback'])
->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])
->asArray()
->all();

soju是对的,如果您只想选择一些列(因此并不是所有的模型反馈和用户列都会被返回),那么您可以将select修改为如下所示

$items = \app\models\Feedback::find()
->with(['user' => function($q) {
    $q->select(['id_user', 'username']);
}])
->select(['id_feedback', 'feedback'])
->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])
->asArray()
->all();

soju是对的,如果您只想选择一些列(因此并不是所有的模型反馈和用户列都会被返回),那么您可以将select修改为如下所示

$items = \app\models\Feedback::find()
->with(['user' => function($q) {
    $q->select(['id_user', 'username']);
}])
->select(['id_feedback', 'feedback'])
->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])
->asArray()
->all();

soju是对的,如果您只想选择一些列(因此并不是所有的模型反馈和用户列都会被返回),那么您可以将select修改为如下所示

$items = \app\models\Feedback::find()
->with(['user' => function($q) {
    $q->select(['id_user', 'username']);
}])
->select(['id_feedback', 'feedback'])
->where(['REPLAY_TO_ID'=>$ID_KOMENTAR])
->asArray()
->all();

我在尝试获取非Objective属性时出错我仍然没有获取用户名我在尝试获取非Objective属性时出错我仍然没有获取用户名我在尝试获取非Objective属性时出错我仍然没有获取用户名我在尝试获取非Objective属性时出错我仍然没有获取用户名