J'essaie d'écrire une condition dans une clause SQL WHERE qui force la comparaison de colonnes à une variable à comparer en minuscules. Cependant, la fonction addExpression n'accomplit pas cela (car cela place l'expression dans la sélection de champ, pas la clause where.
Voici ce que j'ai essayé:
$category = 'mobile wifi';
$query = db_select('taxonomy_term_data', 'ttd')
->fields('ttd', array('tid'));
$query->innerJoin('taxonomy_vocabulary', 'tv', 'ttd.vid = tv.vid');
$query->addExpression("LOWER(ttd.name) = $category");
$result = $query->condition('machine_name', 'images_cat', '=')
->execute()
->fetchAssoc();
Et ça:
$category = 'mobile wifi';
$query = db_select('taxonomy_term_data', 'ttd')
->fields('ttd', array('tid'));
$query->innerJoin('taxonomy_vocabulary', 'tv', 'ttd.vid = tv.vid');
$result = $query->condition('machine_name', 'images_cat', '=')
->condition('LOWER(ttd.name)', $category, '=')
->execute()
->fetchAssoc();
Le second devient invalide et le premier provoque le problème que j'ai mentionné ci-dessus. Des pensées ou des suggestions?
Merci, Patrick