Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: propel+php5 problem z clone
Forum PHP.pl > Forum > PHP > Object-oriented programming
blackdragon
Hey All,

Mam taki problemik: klonuje obiekt, jednak nie zapisuje się on do bazy. Gdy przepisze wszystkie pola to jest ok. O co chodzi zatem ? Jak sprawdzam obiekt zklonowany tuż po objectNew->save() to oczywiście wszystkie wartości ma skopiowane. Być może jest tu problem z PK - zmieniałem na wartość jednoznaczną ale też porażka.
kubatron
A może bys tak kod pokazał smile.gif Wtedy szybciej ci pomożemy smile.gif
blackdragon
o to fragmencik, który działa przez przepisywanie:

$id_auto = Aid_autoPeer::retrieveByPK(1);
$marka = new Amarka();
$marka->setmarkapoj('iles_tam');
$marka->save();
$c = new Criteria();
$c->add(Aid_autoPeer::MARKA_ID, $id_auto->getmarkaId());
$result = Aid_autoPeer::doSelect($c);
foreach( $result as $auto ) {
..........$id_autoCopy = new Aid_auto();
..........$id_autoCopy->setkraj($auto->getkraj());
..........$id_autoCopy->setmarkaId($marka->getmarkaId());
..........$id_autoCopy->setkolor($this->getkolor($model));

..........$id_autoCopy->setMaxV($auto->getMaxV());
..........$id_autoCopy->setitakdalej($auto->itakdalej());
...
..........$id_autoCopy->save();
}

a prz użyciu clone() nie zapisuje do bazy i nie pokazuje żadnych błędów:

(...)
foreach( $result as $auto ) {
..........$id_autoCopy = new Aid_auto();
..........$id_autoCopy = clone $auto;
..........$id_autoCopy->setkraj($auto->getkraj());
..........$id_autoCopy->setmarkaId($marka->getmarkaId());
..........$id_autoCopy->setkolor($this->getkolor($model));
..........$id_autoCopy->save();
}

...a teraz pomożecie winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.