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 столбец, поэтому я изменил столбец первичного ключа, и это сработало.

Другие вопросы по тегам