Listening to changes in many_many relationships, but not hack the framework...
I wanted to add logging but changes to the relationships wasn't obvious at first and then I remembered I could overide the class managing the relationships...
Object::useCustomClass('ManyManyList', 'MyManyManyList', true);
With a class that did the logging at the same time as managing the relationship...
class MyManyManyList extends ManyManyList {
public function add($item, $extraFields = null) {
parent::add($item, $extraFields);
if(!$this->IgnoreFromSaving()){
//do logging
}
}
public function removeByID($itemID) {
if(!$this->IgnoreFromSaving()) {
//do logging
}
parent::removeByID($itemID);
}
public function removeAll() {
if(!$this->IgnoreFromSaving()){
//do logging
}
parent::removeAll();
}
}
us
ing a custom class as a wrapper to allow us to log, but not hack the framework...
Object::useCustomClass('ManyManyList','MyManyManyList',true);
classMyManyManyListextendsManyManyList{publicfunction add($item, $extraFields =null){ parent::add($item, $extraFields);if(!$this->IgnoreFromSaving()){//do logging}}publicfunction removeByID($itemID){if(!$this->IgnoreFromSaving()){//do logging} parent::removeByID($itemID);}publicfunction removeAll(){if(!$this->IgnoreFromSaving()){//do logging} parent::removeAll();}}
Post your comment
Comments
No one has commented on this page yet.
RSS feed for comments on this page | RSS feed for all comments