Uchwycić moment…

menic’s devBlog

“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:
  1. $o = SubCategoryPeer::retrieveByPK( $this->getRequestParameter( 'sub_cat_id' ) );
  2. $o->setQuestionCount( ( $o->getQuestionCount() + 1 ) );
  3. $o->save();

4 Comments so far

  1. matipl styczeń 18th, 2007 6:38 pm

    nic niezwykłego. Przecież to zwykłe get/set na tej samej zmiennej.

  2. menic styczeń 18th, 2007 6:47 pm

    Wiem, ze nic niezwykłego. Ale jak nie ma w dokumentacji, i nie wiesz ze tak jest zrobione to troche ciężko.

  3. pawel_k styczeń 18th, 2007 6:50 pm

    ale przeciez nie rozwiazales tego problemu, dalej pobierasz a pozniej updateujsz rekord:]

  4. php blog styczeń 18th, 2007 9:02 pm

    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();

Leave a reply

Mexico