열에 대한 변수를 소문자로 비교하도록 강제하는 조건을 SQL WHERE 절에 쓰려고합니다. 그러나 addExpression 함수는 where 절이 아닌 필드 선택에 표현식을 넣기 때문에이를 수행하지 못합니다.
내가 시도한 것은 다음과 같습니다.
$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();
두 번째 것은 유효하지 않으며 첫 번째 것은 위에서 언급 한 문제를 일으 킵니다. 어떤 생각이나 제안?
고마워, 패트릭