Для работы с внешней БД необходимо:
- настроить сопоставление с внешней базой данных и сопоставление таблиц в LocalConfiguration.php
- определить TCA для внешних таблиц в myExt /Configuration / TCA / MyExternalTableName.php
- настроить отображение внешних таблиц / столбцов в ext_typoscript_setup.txt
, а затем запросы в репозиториях будут работать.
ПримерLocalConfiguration.php:
'DB' => [
'Connections' => [
'Default' => [
'charset' => 'utf8',
'dbname' => 'LOCAL-DB',
'driver' => 'mysqli',
'host' => '127.0.0.1',
'password' => 'PWD',
'port' => 3306,
'user' => 'USER',
],
'externalDb' => [
'charset' => 'utf8',
'dbname' => 'EXTERNAL-DB',
'driver' => 'mysqli',
'host' => 'localhost',
'password' => 'PWD',
'port' => 3306,
'user' => 'USER',
],
],
'TableMapping' => [
'MyexternalTable1' => 'externalDb',
'MyexternalTable2' => 'externalDb',
...
]
]
Пример сопоставления столбцов в myExt / ext_typoscript_setup.txt:
plugin.tx_myext {
persistence {
classes {
Vendor\MyExt\Domain\Model\LocalModel {
mapping {
tableName = ExternalTableName
recordType = \Vendor\MyExt\Domain\Model\LocalModel
columns {
col1.mapOnProperty = uid
col2.mapOnProperty = name
...
}
}
}
}
}
}