В моем проекте Symfony я работаю с доктриной для моих моделей данных.Также у меня установлен sfMasterSlavePlugin для использования разных соединений для разных типов запросов (запись против чтения).
Из-за небольшой задержки в репликации mysql мой код не может получить недавно вставленную запись.Чтобы обойти эту проблему, я хочу установить мастер-соединение для этого запроса на чтение.Но я также хочу иметь контекст Doctrine_Table для правильной работы с моей моделью.
Есть ли способ принудительно установить мастер-соединение в методе Doctrine_Table?И как это можно сделать?
Мой класс в настоящее время выглядит так:
class UserTable extends Doctrine_Table
{
public static function getInstance()
{
return Doctrine_Core::getTable('User');
}
public function fetchByLoginFromMaster($login)
{
$q = $this->createQuery()
->from('User')
->where('login = ?', $login)
->fetchOne();
return $q;
}
}