Создавайте простой сервис:
use Doctirne\ORM\EntityManager;
class SettingLoader
{
protected $em;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
public function get($key)
{
$val = $this->em->getRepository('MailBundle:Setting')->findOneBy(array('key' => $key));
if (!$val) { throw new \InvalidArgumentException('Setting not found.'); }
return $val;
}
}
Ну и на последок сам сервис:
<service id="settings_loader" class="MyBundle\SettingLoader">
<argument type="service" id="doctrine.orm.default_entity_manager" />
</service>
Ключ для дефоултного менежера:
doctrine.orm.default_entity_manager