2017-06-06 107 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查詢應該是這樣的:

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

回答

1

如果您使用以下版本TYPO3 8個LTS您可以使用說明()此類型的查詢。

$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新學說DBAL應該具備的功能對於這一點,太。但是現在我手邊沒有片段。

+0

我希望有比使用函數「聲明」更好的解決方案。如果我找到Doctrine DBAL的例子,我會在這裏發佈它。 – Sven