返回具有相同 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 活动查询。
我一直在尝试这个查询
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 活动查询。