$t = clone($this);
//DB_DataObject::debugLevel(1);
-
- $t->joinAdd(DB_DataObject::factory('Groups'), 'LEFT');
+ $grp = DB_DataObject::factory('Groups');
+ $t->joinAdd($grp , 'LEFT');
//$person->id = (int)$person->id;
$t->whereAdd("
user_id = {$person->id}
");
$t->selectAdd();
- $t->selectAdd('distinct(group_id), Groups.name as name');
+ $t->selectAdd("distinct(group_id), {$grp->tableName()}.name as name");
+ $t->whereAdd('group_id IS NOT NULL');
$t->find();
- $ret = $arrayof == 'group_id' ? array(0) : array();
+ $ret = array() ;
+ // $ret = $arrayof == 'group_id' ? array(0) : array();
// default member of 'All groups'!!
while ($t->fetch()) {
$this->inAdmin = true;
}
}
+ if ($arrayof == 'group_id' && !count($ret)) {
+ $ret = array(0); /// default if they are not a member of any group.
+ }
+ //var_dump($ret);
return $ret;
}