Сейчас у меня так и оно работает. Но что-то мне подсказывает, что я написал г*внокод))
Подскажите, пожалуйста, как правильно и разумно здесь поступить?
В
getVMUsersData передается массив id пользователей.
public function getVMUsersData($arr = array()){
$db = JFactory::getDBO();
$id_s = implode(',', $arr);
$query = $db->getQuery(true);
$query->select($db->quoteName(array('virtuemart_user_id', 'customer_number')));
$query->from($db->quoteName('#__virtuemart_vmusers'));
$query->where($db->quoteName('virtuemart_user_id') . ' IN(' . $id_s . ')');
$db->setQuery($query);
$results = $db->loadObjectList();
unset($query);
$query = $db->getQuery(true);
$query->select($db->quoteName(array('virtuemart_user_id', 'last_name','first_name','city','school','class','teacher')));
$query->from($db->quoteName('#__virtuemart_userinfos'));
$query->where($db->quoteName('virtuemart_user_id') . ' IN(' . $id_s . ')');
$db->setQuery($query);
$temp = $db->loadObjectList();
foreach($results as $k=>&$v){
foreach($temp as $key=>$val){
if($v->virtuemart_user_id == $val->virtuemart_user_id){
$v->last_name = $val->last_name;
$v->first_name = $val->first_name;
$v->city = $val->city;
$v->school = $val->school;
$v->{'class'} = get_object_vars($val)['class'];
$v->teacher = $val->teacher;
}
}
}
return $results;
}