Предположим следующий фрагмент кода:
$res = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query(
$foreign . '.*', $local, $mm, $foreign, 'AND ' . $local . '.uid=' . $constraintUid);
while ($r=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
...
- $ Foreign / Foreign: имя таблицы иностранных БД
- $ local / local: имя локальной таблицы БД
- $ мм / мм: имя таблицы БД отношений (обычно что-то другое)
- $ constraintUid / constraintUid: некоторый идентификатор
Я бы хотел перенести код в TYPO3 9, используя функции базы данных на основе Doctrine.
Приведенный выше код преобразуется в следующий оператор SQL:
SELECT foreign.* FROM local,mm,foreign
WHERE local.uid=mm.uid_local
AND foreign.uid=mm.uid_foreign
AND local.uid = constraintUid
см. exec_SELECT_mm_query :
Параметры:
- string $ select Список полей для SELECT
- строка $ local_table Имя таблицы, локальная таблица
- строка $ mm_table Имя таблицы, таблица отношений
- строка $ foreign_table Имя таблицы, сторонняя таблица
- string $ whereClause Необязательные дополнительные предложения WHERE, помещаемые в
конец запроса. ...
- ...