Sto cercando di scrivere una condizione in una clausola WHERE di SQL che impone il confronto delle colonne in una variabile da confrontare in minuscolo. Tuttavia, la funzione addExpression non sta realizzando ciò (dal momento che inserisce l'espressione nella selezione del campo, non nella clausola where.
Ecco cosa ho provato:
$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();
E questo:
$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();
Il secondo diventa non valido e il primo causa il problema che ho menzionato sopra. Qualche idea o suggerimento?
Grazie Patrick