0

我正在渲染列 uid、abc 和表 tx_abc_domain_model_abc 的名称 ...

...但现在我只想渲染那些尚未创建 realurl 路径的记录。

所以我想我需要两个表tx_abc_domain_model_abc和 tx_realurl_uniqalias?

table: tx_abc_domain_model_abc
column: uid

table: tx_realurl_uniqalias
column: tablename = tx_abc_domain_model_abc
column: value_id

动作控制器:

...
$statement = $queryBuilder  
    ->select('tx_abc_domain_model_abc.uid', 'tx_abc_domain_model_abc.abc', 'tx_abc_domain_model_abc.name')          
    ->from('tx_abc_domain_model_abc')
    ->join(
      'tx_abc_domain_model_abc',
      'tx_realurl_uniqalias'
      $queryBuilder->expr()->eq('tx_realurl_uniqalias.value_id', $queryBuilder->quoteIdentifier('tx_abc_domain_model_abc.uid'))
    )
   ->where(
      $queryBuilder->expr()->eq('tx_realurl_uniqalias.tablename', $queryBuilder->createNamedParameter('tx_abc_domain_model_abc')),
        )                                       
    ->execute();
...

这个对吗?但是 NOT WHERE 怎么办?

4

1 回答 1

1

你可以用 "->neq" 做 "NOT" :

->neq($fieldName, $value) 

所以用你的例子:

$queryBuilder->expr()->neq('tx_realurl_uniqalias.tablename', $queryBuilder->createNamedParameter('tx_abc_domain_model_abc'))

你可以在这里阅读:https ://docs.typo3.org/typo3cms/CoreApiReference/latest/ApiOverview/Database/ExpressionBuilder/Index.html#comparisons

于 2018-09-14T13:51:06.217 回答