2017-06-06 14 views
0

このようなextbaseクエリでCONCATを使用できますか?TYPO3 CONCATを使用したExtbaseクエリ

$query = $this->createQuery(); 
$query 
    ->matching(
    $query->logicalOr(
     $query->like('street', '%' . $search . '%'), 
     $query->like('street_number', '%' . $search . '%'), 
    ) 
) 
    ->execute(); 

ここで、CONCAT(street、 ''、street_number)も照会したいと思います。

結果のSQLクエリは次のようになります。あなたは、バージョン8 LTSの下にTYPO3を使用している場合

SELECT * FROM myTable WHERE street LIKE '%abc%' OR street_number LIKE '%abc%' OR CONCAT(street, ' ', street_number) LIKE '%abc%'; 

答えて

1

あなたは、クエリのこの種のために)(ステートメントを使用することができます。

$query = $this->createQuery(); 
$query 
    ->statement('SELECT * FROM myTable WHERE street LIKE "%abc%" OR street_number LIKE "%abc%" OR CONCAT(street, " ", street_number) LIKE "%abc%"') 
) 
    ->execute(); 

TYPO3 8 LTSでは、新しいDoctrine DBALにもこの機能が必要です。しかし、私はすぐに私の手の隣にスニペットを持っていません。

+0

関数 "statement"を使うよりも良い解決策があると思っています。私がDoctrine DBALの例を見つけたら、ここに投稿します。 – Sven

関連する問題