1
私は結合テーブルから選択結果列を取得しようとしていました。クエリは次のようになります。Yii2 asArrayメソッドのない結合テーブルから列を追加
$query = MediaLibrary::find()->select([
'media_library.*',
'category_name' =>'ctg.name',
'category_id' =>'ctg.id',
'entity_name' =>'ent.name',
'entity_id' =>'ent.id',
'category_alias' =>'ctg.alias',
])->joinWith([
'mediaLibraryCategory' => function ($q) {
$q->from(MediaLibraryCategory::tableName().' ctg');
},
'mediaLibraryEntity' => function ($q) {
$q->from(MediaLibraryEntity::tableName().' ent');
}
])->asArray();
しかし、問題は、別のテーブル(asArray()メソッド)からそのデータ配列を取得したくないということです。しかし、私がそのメソッドを削除すると、別のテーブルのカラムがなくなります。
私は間違っていますか? asArray()メソッドなしで列を追加する方法はありますか?
正しい!私は同じことを書こうとしていた。あなたはそれに私を打つ – Imtiaz
はい、今私が参照してください - 私はasArray()を残して、falseパラメータを追加する必要があります。今、それは動作し、非常にありがとう!!!! –
@KatyaMakeeva、この答えがあなたを満足させる場合は、正解として選択してください。また、感謝の気持ちを表明したい場合は、それをアップしてください。 – Imtiaz