Comment ajouter dynamiquement des conditions supplémentaires aux clauses 'WHERE' dans les requêtes de base de données TYPO3, s'il vous plaît? Les nouveaux docs de TYPO3 version 8 indiquent comment faire des requêtes fixes, mais pas de variables.Comment créer une clause SQL 'WHERE' dynamique à l'aide de TYPO3 Querybuilder
Dans le passé, je pouvais créer une instruction SQL et modifier dynamiquement comme ceci:
if (condition) {
$strWhere = 'some SQL';
} else {
$strWhere = 'same SQL with extra bits';
}
$dbRes = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
"*", // SELECT ...
"tableName", // FROM ...
$strWhere , // WHERE...
etc.
Je ne vois pas comment faire quelque chose comme cela en utilisant QueryBuilder. Ce que je veux accomplir est une expression qui fait quelque chose comme ça
if (condition) {
->where($queryBuilder->expr()->eq(...))
}
else {
->where($queryBuilder->expr()->eq(...))
->andWhere($queryBuilder->expr()->eq(...))
}
Les indices seraient grandement appréciés. Merci.
à peu près exactement comme vous le suggérez là-bas. Vous pouvez collecter plusieurs conditions where ($ queryBuilder-> expr()) dans un tableau, puis utiliser orX ou andX pour les connecter: $ queryBuilder-> etWhere ($ queryBuilder-> expr() -> orX (.. $ yourWhereExperessions) – deadfishli
Merci deadfishli, c'est très utile et gentil de votre part de répondre. –