繁体   English   中英

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

[英]get data related with yii2 on controller

我有这样的数据:

表反馈 ,具有实体: id_feedback (primary_key) , id_user (foreign key), feedback
表用户 ,实体: id_user (primary_key), user_name

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

我在app/controller/feedback创建json。

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

我得到json但没有得到username 如何获取username

您应该尝试:

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是正确的,如果您只想选择某些列(因此不是模型反馈的所有列都返回用户),则可以将选择修改为如下所示

$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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM