TYPO3データベースクエリのWHERE句に余分な条件を動的に追加するにはどうすればよいですか?新しいTYPO3 Version 8のドキュメントでは、固定クエリを作成する方法を説明しますが、可変クエリは作成しません。過去にはTYPO3クエリビルダを使用して動的 'WHERE' SQL文を作成する方法
、私は、SQL文を作成し、このように動的に変更できます。
if (condition) {
$strWhere = 'some SQL';
} else {
$strWhere = 'same SQL with extra bits';
}
$dbRes = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
"*", // SELECT ...
"tableName", // FROM ...
$strWhere , // WHERE...
etc.
私はQuerybuilderを使用して、このような何かをする方法を見ることができません。私が達成したいのは、このような何かをする表現です。
if (condition) {
->where($queryBuilder->expr()->eq(...))
}
else {
->where($queryBuilder->expr()->eq(...))
->andWhere($queryBuilder->expr()->eq(...))
}
ヒントがあれば幸いです。ありがとう。
ほとんど。配列内の条件($ queryBuilder-> expr())をいくつか収集し、orXまたはandXを使ってそれらを接続することができます: $ queryBuilder-> andWhere($ queryBuilder-> expr() - > orX(..) 。$ yourWhereExflressions); – deadfishli
死者のおかげで、とても助かりました。あなたは応答するのが大好きです。応答が遅れて申し訳ありません。 –