Saya mencoba untuk menulis suatu kondisi ke klausa WHERE SQL yang memaksa perbandingan kolom ke variabel untuk dibandingkan dalam huruf kecil. Namun fungsi addExpression tidak menyelesaikan ini (karena itu menempatkan ekspresi dalam pemilihan bidang, bukan klausa di mana.
Inilah yang saya coba:
$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();
Dan ini:
$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();
Yang kedua menjadi tidak valid dan yang pertama menyebabkan masalah yang saya sebutkan di atas. Ada pemikiran atau saran?
Terima kasih, Patrick