ฉันพยายามเขียนเงื่อนไขลงใน SQL WHERE clause ที่บังคับให้คอลัมน์เปรียบเทียบกับตัวแปรที่จะเปรียบเทียบในตัวพิมพ์เล็ก อย่างไรก็ตามฟังก์ชั่น addExpression ไม่สามารถทำได้ (เนื่องจากเป็นการใส่นิพจน์ในการเลือกฟิลด์ไม่ใช่ส่วนคำสั่งที่
นี่คือสิ่งที่ฉันได้ลอง:
$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();
และนี่:
$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();
อันที่สองกลายเป็นโมฆะและอันแรกทำให้เกิดปัญหาที่ฉันกล่าวถึงข้างต้น ความคิดหรือข้อเสนอแนะ?
ขอบคุณแพทริค