loadQuery(SettingRepositoryQuery::class); } public function getDefaultOptionsSearch(): array { return [ self::WITH => ['producer'], self::JOIN_WITH => [], self::ORDER_BY => '', self::ATTRIBUTE_ID_PRODUCER => 'setting.id_producer' ]; } public function findOneSettingByName(string $name) { if($this->isOutOfProducerContext()) { return $this->findOneAdminSettingByName($name); } else { return $this->findOneProducerSettingByName($name); } } public function findOneAdminSettingByName(string $name) { return $this->createQuery() ->filterProducerIsNull() ->filterByName($name) ->findOne(); } public function findOneProducerSettingByName(string $name) { return $this->createDefaultQuery() ->filterByName($name) ->findOne(); } }