Rafael George wrote:
> I hope there are some PHP developer's in this list, i'm trying to
> override the save method in a model, my model class goes like this:
> class Interest
>
>      include DataMapper::Resource
>
>      # properties
>      property :user_id, Integer, :key => true
>      property :question_id, Integer, :key => true
>      timestamps :at
>
>     # associations
>
>     belongs_to :user, :child_key => [:user_id]
>     belongs_to :question, :child_key => [:question_id]
>
>  end
>
> And here is the PHP code that i'm translating to DataMapper
>
> $con = Propel::getConnection();
>   try
>   {
>     $con->begin();
>
>     $ret = parent::save($con);
>
>     // update interested_users in question table
>     $question = $this->getQuestion();
>     $interested_users = $question->getInterestedUsers();
>     $question->setInterestedUsers($interested_users + 1);
>     $question->save($con);
>
>     $con->commit();
>
>     return $ret;
>   }
>   catch (Exception $e)
>   {
>     $con->rollback();
>     throw $e;
>   }
>
> I tried with this:
>
> def save
>   transaction do |txn|
>    question.interested_users += 1
>   end
> end
>
> The question model already have the property 'interested_users'.
>   
Why using a transaction where you don't save ?

Using before :save and after :save otherwise

-- 
Cyril Mougel
http://blog.shingara.fr


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to