public function applyFilter(Mzax_Emarketing_Model_Object_Filter_Abstract $filter) { if ($this->getObject() !== $filter->getObject()) { throw new Exception("You can not apply filters for different objects"); } $this->getQuery()->joinSelect('id', $filter->getSelect(), 'filter'); return $this; }