2012-01-25 9 views
0

"lookUpTable"ステートメントで2つのテーブルを結合したいサイトでRealURLを使用しています。結果のURLは、表aと表bのフィールドの組み合わせである必要があります。JOINステートメント(TYPO3)でRealURLを使用する

基本的にはtableaddWhereClauseでJOINを行い、複数のalias_fieldsを使用したいと思います。

標準構文は次のとおりです。これが可能であれば

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

マニュアルにはヒントを与えていないが、それは非常に有用だろう。これができるかどうかは誰でも知ることができますか?

+0

おそらく、このパッチは助けることができる:http://bugs.typo3.org/view.php?id=17749 –

+0

これはよさそうねえ、私は声明に直接登録しよ書くことができるように見えます。私はこれを試して、問題があればそれを更新します。 –

答えて

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' => '-' 
     ) 
     ) 
    ) 
    ), 
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', 
         ... 
        ), 
関連する問題