2017-06-06 146 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