С регулярной командой mysql мы используем SELECT foo WHERE bar IN (a, b, c). Я ищу, как это сделать в базе данных joomla select?
Я попробовал это:
$query
->select(array('a.id', 'a.promo', 'a.harga', 'a.dp', 'a.image', 'a.teaser' , 'b.title','b.created'))
->from($db->quoteName('#__cck_store_form_paket_trip', 'a'))
->join('LEFT', $db->quoteName('#__content', 'b') . ' ON (' . $db->quoteName('a.id') . ' = ' . $db->quoteName('b.id') . ')')
->where($db->quoteName('b.catid') . ' IN '.$db->quote(.'(13,14,15)'.)
->order($db->quoteName($orderby) . ' '.$order)
->setLimit($limit,$start)
;
Итак, ребята... любая помощь, пожалуйста?
Функция $db-> quote принимает значение или массив. Вы можете попробовать под кодом с функцией implode -
вместо этого -
$db->quote(.'(13,14,15)'.)
Попробуй это -
$db->quote(array(13,14,15))
и окончательный запрос будет -
$query
->select(array('a.id', 'a.promo', 'a.harga', 'a.dp', 'a.image', 'a.teaser' , 'b.title','b.created'))
->from($db->quoteName('#__cck_store_form_paket_trip', 'a'))
->join('LEFT', $db->quoteName('#__content', 'b') . ' ON (' . $db->quoteName('a.id') . ' = ' . $db->quoteName('b.id') . ')')
->where($db->quoteName('b.catid') . ' IN (' . implode(',', $db->quote(array(13,14,15))) . ')' )
->order($db->quoteName($orderby) . ' '.$order)
->setLimit($limit,$start)
;