Использование RealURL с оператором JOIN (TYPO3) - PullRequest
0 голосов
/ 25 января 2012

Я использую RealURL на сайте, где я хотел бы объединить две таблицы в операторе "lookUpTable". Полученный URL должен быть комбинацией полей в таблице a и таблице b.

Так что в основном я хотел бы сделать JOIN в table и addWhereClause, а затем использовать несколько alias_fields.

Стандартный синтаксис:

'lookUpTable' => array(
                            'table' => 'user_3dsplmxml_bfsbrand',
                            'id_field' => 'xml_id',
                            'alias_field' => 'xml_title',
                            'maxLength' => 10,
                            'addWhereClause' => ' AND NOT deleted'
                        )

Руководство не дает подсказки, если это возможно, но было бы полезно. Кто-нибудь знает, можно ли это сделать?

Ответы [ 3 ]

3 голосов
/ 23 января 2014

Это сработало для меня (TYPO3 6.1.7):

   'veranstaltung' => array(
      array(
        'GETvar' => 'tx_wsevents_wsevents[dates]',
        'lookUpTable' => array(
          'table' => 'tx_wsevents_domain_model_dates dates, tx_wsevents_domain_model_events events',
          'id_field' => 'dates.uid',
          'alias_field' => "CONCAT ( events.name, '_', DATE_FORMAT ( from_unixtime ( dates.startdate ),'%d-%m-%Y') )",
          'addWhereClause' => ' AND NOT dates.deleted AND ' . 'dates.events=events.uid',
          'useUniqueCache' => 1,
          'useUniqueCache_conf' => array(
            'strtolower' => 1,
            'spaceCharacter' => '-'
          )
        )
      )
    ),
3 голосов
/ 31 января 2012

Вы можете использовать userFunc вместо lookUpTable.

См. Руководство пользователя realurl

0 голосов
/ 20 января 2016

Мне нужно было использовать подзапрос. Упомянутый способ с 'table' => 'tableA a, tableB b' не возвращает никакого значения.

                    'lookUpTable' => array(
                        'table'               => '(
                                SELECT
                                    i.uid, k.objektart
                                FROM
                                    tx_wib24immobilien_domain_model_immobilie i
                                    JOIN
                                            tx_wib24immobilien_domain_model_objektkategorie k
                                        ON
                                            i.objektkategorie = k.uid
                            ) i',
                        'id_field'            => 'uid',
                        'alias_field'         => 'objektart',
                        ...
                    ),
...