/** * {@inheritDoc} */ public function load(ConfigProxy $config) { $result = $this->_qbFactory->getQueryBuilder()->select($this->_columns)->from('refer_a_friend_reward_trigger')->where('reward_config_id = :id?i', ['id' => $config->getID()])->getQuery()->run(); $triggers = new Collection(); foreach ($result as $row) { $triggers->add($this->_triggers->get($row->name)); } return $triggers; }
/** * {@inheritDoc} */ public function addTrigger(Trigger\TriggerInterface $trigger) { if (!in_array($trigger->getName(), $this->_type->validTriggers())) { throw new \LogicException('Triggers of type `' . $trigger->getName() . '` cannot be set on rewards with a type of `' . $this->_type->getName() . '`'); } if (null === $this->_triggers) { $this->_triggers = new Trigger\Collection(); } $this->_triggers->add($trigger); }