返回具有相同 ID 但不同值的所有记录

returning all records with the same ID but different values

我一直在尝试这个查询

Model::find()
 ->innerJoin('TranslationTable', 'TranslationTable.model_id = Model.id')
 ->where(['IN', 'translation_code', $arrayOfTranslationCodes])
 ->asArray()
 ->all();

翻译 table 包含多个 ID 相同但翻译代码不同的行。

此查询仅 returns 给定 ID 的第一个匹配语言环境。我如何检索给定 ID 的其他翻译代码?

这是我得出的解决方案:

$query = Model::find()
            -> innerJoin('TranslationTable', 'TranslationTable.model_id = Model.id');

foreach ($arrayOfTranslationCodes as $translation)
{
   $query->andWhere(['OR', 'translation_code', $translation])
}

$queryResponse = $query->asArray()->all();

这使我能够找到具有相同 ID 但具有不同翻译的行。您需要将 $query->asArray()->all(); 存储为 $query 本身,只是 returns 活动查询。