В Typo3, если я хочу использовать другой источник базы данных, я могу сделать следующее:
'DB' => [
'Connections' => [
'Default' => [
'charset' => 'utf8',
'dbname' => 'typo3',
'driver' => 'mysqli',
'host' => '127.0.0.1',
'password' => 'pw',
'port' => 3306,
'user' => 'user',
],
'OtherDB' => [
'charset' => 'utf8',
'dbname' => 'other_db',
'driver' => 'mysqli',
'host' => 'host',
'password' => 'pw',
'port' => 3306,
'user' => 'user',
],
],
'TableMapping' => [
'table1' => 'OtherDB'
]
],
Если я хочу использовать другую БД, я могу сделать следующее:
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable("table1");
Теперь проблема: если я хочу использовать еще одну базу данных, которая использует то же имя таблицы «table1», как же мне это отобразить? Как я могу заставить его использовать каждую БД, возможно, не говоря ему о сопоставлении таблиц, а просто попросить построителя запросов использовать другое соединение с БД?
Задача ещё не решена.
Других решений пока нет …