Propel: объединение текста и содержимого полей - PullRequest
2 голосов
/ 23 мая 2011

Я сейчас занимаюсь рефакторингом некоторых вещей, чтобы использовать Propel.

В настоящее время у нас есть функция, которая добавляет текст в поле «история», например:

UPDATE tablename 
  SET history = CONCAT(history, NOW(), "add this text to history") 
  WHERE ...;

Мы делаем это, используя функцию CONCAT (), чтобы сделать атомарное изменение.В противном случае (если бы мы читали значение поля где-то ранее, а затем объединяли в PHP и обновляли строку), возможно, что другой сценарий встал бы между ними и изменил поле, и тогда эти изменения были бы потеряны.

Как я могу выполнить этот КОНКАТ (..) в Propel?Мы используем MySQL и MyISAM, поэтому простое завершение транзакции не сработает.

1 Ответ

1 голос
/ 25 июня 2011

Вы можете выполнить необработанный SQL, используя Propel.Я не думаю, что это возможно любым другим способом.

...