3

有人知道在 Symfony2(symfony 重新加载)yml 配置文件中配置 DBAL/Doctrine2 以执行“设置名称”查询的方法吗?这个问题已经在其他地方问过,但我找不到正确的答案。

http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collat​​ion-49626/

如果没有这样的配置选项,我该如何使用 PHP 来实现呢?或者更好:在 Symfony2 项目中哪里是做这件事的正确位置?

4

2 回答 2

4

那还不可能。我正在努力允许这一点,很快就会有可能。

于 2011-01-15T09:31:06.127 回答
1

好的,仅适用于可能遇到此问题的其他任何人。这就是我所做的:

我最终进行了子类Symfony\Bundle\FrameworkBundle\Controller\Controller化并介绍了该方法getEntityManager

public function getEntityManager()
{
    $em = $this->get('doctrine.orm.entity_manager');
    static $utf8_set = false;
    if (!$utf8_set) {
        $em->getEventManager()->addEventSubscriber(new MysqlSessionInit('utf8','utf8_unicode_ci'));
        $utf8_set = true;
    }
    return $em;
}

所以每次我想访问EntityManager控制器中的或存储库(当然现在是子类DoctrineController)时,我都会调用

$this->getEntityManager()

分别

$this->getEntityManager()->getRepository('What\Ever\Entity\I\Am\Looking\For')
于 2011-01-15T12:10:45.737 回答