22 string $direction =
"asc",
23 bool $sort_by_status =
false 26 $join_str =
"LEFT JOIN (SELECT (ROUND(AVG(rating), 1) * 10000 + COUNT(rating)) as rating, obj_id FROM il_rating GROUP BY obj_id) AS average ON average.obj_id = record.id";
27 $select_str =
" average.rating AS field_{$this->getId()},";
30 $sql_obj->setSelectStatement($select_str);
31 $sql_obj->setJoinStatement($join_str);
32 $sql_obj->setOrderStatement(
"field_{$this->getId()} " . $direction .
", ID ASC");
44 if (!$sort_field instanceof $this) {
45 $join_str =
"LEFT JOIN (SELECT (ROUND(AVG(rating), 1) * 10000 + COUNT(rating)) as rating, obj_id FROM il_rating GROUP BY obj_id) AS average ON average.obj_id = record.id";
48 $where_additions =
" AND average.rating >= " .
$ilDB->quote($filter_value * 10000,
'integer');
51 $sql_obj->setWhereStatement($where_additions);
52 $sql_obj->setJoinStatement($join_str);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getRecordQuerySortObject(string $direction="asc", bool $sort_by_status=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...