#php #symfony #symfony-2.1
Вопрос:
MessageController.php
public function(Request $request){
/** @var TestService $testService */
$testService = $this->get('test_service');
$model['test'] = $testService->testDetail(123);
/** @var Test1Service $test1Service */
$test1Service = $this->get('test1_service');
$model['test1'] = $test1Service->test1Detail(123);
/** @var ReplyService $replyService */
$replyService = $this->get('reply_service');
$model['reply'] = $replyService->replyDetail(123);
}
------------------------------------------------
ReplyService.php
public function replyDetail($message)
{
return $this->replyModel->getReply($message);
}
-----------------------------------------------
ReplyModel.php
class ReplyModel extends BaseModel{
pubic function getReply($message)
{
$query = "select * from reply Where message= :message";
return $this->executeQuery($query,array('message' => message),true,'database2');
}
}
-----------------------------------------------
BaseModel.php
class BaseModel{
protected $em;
protected $connection;
protected $connectionMsg;
public function __construct(EntityManager $em, EntityManager $emMsg)
{
$this->em = $em;
$this->connection = $em->getConnection();
$this->connectionMsg = $emMsg->getConnection();
}
public function getConnection($connection = 'default')
{
}if ($connection == 'database2') {
return $this->connectionMsg;
}
return $this->connection;
}
/**
* @param $query
* @param array $parameters
* @param bool $isSingleResult
* @param string $connection
* @return array|mixed
* @throws DoctrineDBALDBALException
*/
public function executeQuery($query, $parameters = array(), $isSingleResult = false, $connection = 'default')
{
$statement = $this->getConnection($connection)->prepare($query);
$statement->execute($parameters);
if ($isSingleResult) {
$result = $statement->fetch(Query::HYDRATE_ARRAY);
} else {
$result = $statement->fetchAll(Query::HYDRATE_ARRAY);
}
return $resu<
}
}
Я использую Symfony 2.4
Я могу подключиться к базе данных 2 и извлекать данные только тогда, когда использую ReplyService.php файл.
Но. запрос в ReplyService.php файл не работает, когда я использую вышеуказанные файлы.
Запросы в ReplyService.php извлекаем данные из базы данных 1.
Запросы в TestService.php и TestService1.php файлы извлекают данные из базы данных по умолчанию.