Код: Выделить всё
select * from lime_group_l10ns where gid in (232, 234);
< /code>
Это дает: < /p>
+------+-----+----------------------+--------------+----------+
| id | gid | group_name | description | language |
+------+-----+----------------------+--------------+----------+
| 1340 | 232 | abc Q927 def | ghi Q926 jkl | en |
| 1342 | 234 | Question group three | | en |
+------+-----+----------------------+--------------+----------+
2 rows in set (0.00 sec)
< /code>
Пока все хорошо. Теперь я написал это: < /p>
$groups = QuestionGroupL10n::model()->findAll("gid in (232, 234)");
foreach ($groups as $group) {
echo $group->gid . "
";
}
< /code>
, который является эквивалентом данного запроса, который я дал, и я ожидаю, что он выведет < /p>
232
234
< /code>
Но это только отображает < /p>
234
< /code>
Таким образом, он, кажется, учитывает только последний элемент и пропускает тот, который до него до него. Я решил эту проблему через < /p>
$fields = ['description', 'group_name'];
foreach ($gids as $gid) {
if ($gid != 0) {
$group = QuestionGroupl10n::model()->find("gid=" . $gid);
if ($this->fixText($group, $fields, $names) || $this->fixText($group, $fields, $additionalNames)) {
$group->save();
}
}
}
< /code>
, где я зацикливаю идентификаторы группы, ранее рассчитанные, и делаю некоторые изменения, если это необходимо. Это работает. Но он выполняет индивидуальный запрос на каждую группу, которая не выглядит хорошо. Как я могу заставить YII1 Orm Findall Код: Выделить всё
CREATE TABLE `lime_group_l10ns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`gid` int(11) NOT NULL,
`group_name` text COLLATE utf8mb4_unicode_ci NOT NULL,
`description` mediumtext COLLATE utf8mb4_unicode_ci,
`language` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `lime_idx1_group_ls` (`gid`,`language`)
) ENGINE=MyISAM AUTO_INCREMENT=1943 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
< /code>
И это исходный код модели: < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79727551/why-is-yii-orm-findall-returning-the-last-element-from-the-set[/url]