“Update pole = pole+1″ in propel == POSSIBLE
Dzis całkiem przypadkiem znalazłem rozwiazanie tego problemu. W koncu troche bardziej rozbudowali dokumentacje i sie znalazło :) A jak to zrobić? Bardzo prosto i logicznie:
PHP:
-
$o = SubCategoryPeer::retrieveByPK( $this->getRequestParameter( 'sub_cat_id' ) );
-
$o->setQuestionCount( ( $o->getQuestionCount() + 1 ) );
-
$o->save();
4 Comments so far
Leave a reply
nic niezwykłego. Przecież to zwykłe get/set na tej samej zmiennej.
Wiem, ze nic niezwykłego. Ale jak nie ma w dokumentacji, i nie wiesz ze tak jest zrobione to troche ciężko.
ale przeciez nie rozwiazales tego problemu, dalej pobierasz a pozniej updateujsz rekord:]
Ja się cieszę, że nie używam ORM ;) Proste DAO wydaje mi się lepszym rozwiązaniem, bardziej uniwersalne.
$oObj = new DAOSth($oDB);
$oObj->setWhere('sub_cat_id', $oRequest->sub_cat_id);
$oObj->setData('sub_cat_id', 'sub_cat_id + 1', array(aHDAO::PARAM_NO_BIND_VALUE));
$oObj->update();