2 require_once(
"./Modules/DataCollection/classes/Helpers/class.ilDclRecordQueryObject.php");
22 $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";
23 $select_str =
" average.rating AS field_{$this->getId()},";
26 $sql_obj->setSelectStatement($select_str);
27 $sql_obj->setJoinStatement($join_str);
28 $sql_obj->setOrderStatement(
"field_{$this->getId()} ".$direction);
45 if(!$sort_field instanceof $this) {
46 $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";
49 $where_additions =
" AND average.rating >= " .
$ilDB->quote($filter_value * 10000,
'integer');
52 $sql_obj->setWhereStatement($where_additions);
53 $sql_obj->setJoinStatement($join_str);
Class ilDclBaseFieldModel.
getRecordQuerySortObject($direction="asc", $sort_by_status=false)
Returns a query-object for building the record-loader-sql-query.
Class ilDclRecordQueryObject.
getRecordQueryFilterObject($filter_value="", ilDclBaseFieldModel $sort_field=null)
Returns a query-object for building the record-loader-sql-query.
Class ilDclRatingFieldModel.