Estoy tratando de escribir una condición en una cláusula WHERE de SQL que obliga a la comparación de columnas a una variable a compararse en minúsculas. Sin embargo, la función addExpression no está logrando esto (ya que eso está poniendo la expresión en la selección del campo, no la cláusula where.
Esto es lo que he intentado:
$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();
Y esto:
$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();
El segundo deja de ser válido y el primero causa el problema que mencioné anteriormente. ¿Alguna idea o sugerencia?
Gracias patricio