![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 24.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Być może podobny wątek istnieje już na forum - ja niestety nic takiego nie znalazłem... Problem polega na tym, że przekazuje do akcji dane z formularza. Na ich podstawie mają zostać utworzone nowe rekordy w bazie danych jak i zaktualizowane już istniejące. O ile przy zapisie nowych rekordów funkcja propela save() zwraca liczbę 1 tak przy aktualizacji zwracane jest 0 choć sama aktualizacja następuje prawidłowo. Z tego co wyczytałem to funkcja ta zwraca liczbę "przetworzonych?" wierszy (być może źle zrozumiałem). Wydaje mi się, że w kodzie jest wszystko w porządku, ale mogę się oczywiście mylić... Oto kod:
Z góry dziękuję za wszelką pomoc i pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 35 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wczoraj na szybko odpisałem ale niestety nie do końca zgodnie z zadanym pytaniem tak więc dzisiaj jeszcze raz podszedłem do tematu i sprawdziłem w kodzie symfony, a właściwie to propela, jest.
Mianowicie doszedłem do metody public static function doUpdate(parametry...) w pliku sfPropelPlugin/lib/vendor/propel/util/BasePeer.php i z tego co mi się wydaje to affectet rows, czyli to co Ciebie interesuje zwracane jest z obiektu PDO. A z manuala wnioskować można że jest to zależne od rodzaju bazy i nie za bardzo można na tym polegać co oczywiście cytuje: Cytat PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object. If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 01:36 |