Symfony2 経由で DBAL を設定して文字セットを設定する
-
11-10-2019 - |
質問
「set names」クエリを実行するために、Symfony2 (symfony-reloaded) yml 設定ファイルで DBAL/Doctrine2 を設定する方法を知っている人はいますか?この質問は他の場所でも尋ねられましたが、正しい答えが見つかりませんでした。
http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collation-49626/
そのような設定オプションがない場合、PHP を使用してこれを実装するにはどうすればよいですか?もっと良いのは:Symfony2 プロジェクトの中でこれを行うのに適切な場所はどこでしょうか?
解決
それはまだ不可能です。私はすでにこれを許可することに取り組んでおり、すぐに可能になるでしょう。
他のヒント
OK、この問題に遭遇する可能性のある他の人のために。これが私がやったことです:
結局サブクラス化しました 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')
所属していません StackOverflow