使用CONCAT查询TYPO3 Extbase

时间:2017-06-06 10:11:48

标签: mysql typo3 extbase

是否可以在像这样的extbase查询中使用CONCAT?

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

现在,我想查询CONCAT(街道,'',street_number)。

生成的SQL查询应如下所示:

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

2 个答案:

答案 0 :(得分:1)

如果您在版本8 LTS以下使用TYPO3,则可以使用statement()进行此类查询。

$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也应具备此功能。但是我现在手边没有一个片段。

答案 1 :(得分:1)

使用Doctrine DBAL,您可以从当前getConcatExpression的{​​{1}}到表中使用DatabasePlatform

Connection
相关问题