有人知道在 Symfony2(symfony 重新加载)yml 配置文件中配置 DBAL/Doctrine2 以执行“设置名称”查询的方法吗?这个问题已经在其他地方问过,但我找不到正确的答案。
http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collation-49626/
如果没有这样的配置选项,我该如何使用 PHP 来实现呢?或者更好:在 Symfony2 项目中哪里是做这件事的正确位置?
有人知道在 Symfony2(symfony 重新加载)yml 配置文件中配置 DBAL/Doctrine2 以执行“设置名称”查询的方法吗?这个问题已经在其他地方问过,但我找不到正确的答案。
http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collation-49626/
如果没有这样的配置选项,我该如何使用 PHP 来实现呢?或者更好:在 Symfony2 项目中哪里是做这件事的正确位置?
那还不可能。我正在努力允许这一点,很快就会有可能。
好的,仅适用于可能遇到此问题的其他任何人。这就是我所做的:
我最终进行了子类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')