簡體   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