php - не могу обновить строку таблицы с помощью propel
Что я собираюсь сделать, это просто обновить одну строку из таблицы и с помощью Propel у меня есть этот код:
$group = GroupsQuery::create()->findOneByGroupName('A');
$group->setGroupName('B');
$group->save();
но проблема в том, что в базе данных ничего не меняется, а имя группы по-прежнему равно A.
Если я распечатаю $group
лайк print_r($group->toArray())
Перед использованием save()
я получаю это:
Array
(
[Id] => 4
[GroupName] => A
)
и после использования save()
я получаю это:
Array
(
[Id] => 4
[GroupName] => B
)
который показывает, что новое значение вставляется в объект, но снова не в базу данных. Я проверил другие запросы, такие как вставка или удаление, и все они работают нормально.
1 ответ
Решение
Хорошо после выполнения некоторых тестов я обнаружил, что проблема в том, что Propel не может обновить PRIMARY Key
столбец, поэтому я изменил столбец первичного ключа, и это сработало.