我在一个网站上使用RealURL,我希望在“lookUpTable”语句中加入两个表。生成的URL应该是表a和表b中的字段组合。
所以基本上我想在table
和addWhereClause
中加入,而不是使用多个alias_fields
。
标准语法是:
'lookUpTable' => array(
'table' => 'user_3dsplmxml_bfsbrand',
'id_field' => 'xml_id',
'alias_field' => 'xml_title',
'maxLength' => 10,
'addWhereClause' => ' AND NOT deleted'
)
如果可行的话,手册没有提示,但它会很有用。有谁知道这是否可以做到?
答案 0 :(得分:3)
您可以使用userFunc而不是lookUpTable。
答案 1 :(得分:3)
这对我有用(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' => '-'
)
)
)
),
答案 2 :(得分:0)
我需要使用子查询。用'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',
...
),