$query = $modx->newQuery('Hgids');
$query->sortby('modUser.username', 'ASC');
$query->where( array('Hgids.hgid:LIKE'=>"%$search_term%") );
$query->orCondition(array('modUser.username:LIKE' => "%$search_term%"));
$query->orCondition(array('Profile.fullname:LIKE' => "%$search_term%"));
$total_records = $modx->getCount('Hgids',$query); // <-- this fails when the sortby is 'modUser.username'
$query->limit(100, 0);
$hgids = $modx->getCollectionGraph('Hgids', '{"modUser": {"Profile":{} } }',$query);
$query = $modx->newQuery('Hgids');
$query->sortby('modUser.username', 'ASC');
$query->where( array('Hgids.hgid:LIKE'=>"%$search_term%") );
$query->orCondition(array('modUser.username:LIKE' => "%$search_term%"));
$query->orCondition(array('Profile.fullname:LIKE' => "%$search_term%"));
$query->bindGraph('{"modUser": {"Profile":{} } }'); // without this, sorting by modUser.username causes getCount to fail.
$total_records = $modx->getCount('Hgids',$query);
$query->limit(100, 0);
$hgids = $modx->getCollectionGraph('Hgids', '{"modUser": {"Profile":{} } }',$query);
$query = $modx->newQuery('Hgids');
$query->innerJoin('modUser','modUser');
$query->innerJoin('modUserProfile','Profile','Profile.internalKey = modUser.id');
$query->where(array(
'Hgids.hgid:LIKE'=>"%$search_term%",
'OR:modUser.username:LIKE' => "%$search_term%",
'OR:Profile.fullname:LIKE' => "%$search_term%",
));
$total_records = $modx->getCount('Hgids',$query);
$query->bindGraph('{"modUser": {"Profile":{} } }');
$query->sortby('modUser.username', 'ASC');
$query->limit(100);
$hgids = $modx->getCollectionGraph('Hgids', '{"modUser": {"Profile":{} } }',$query);