19 declare(strict_types=1);
34 if (is_array($filter_value)) {
35 $from = (isset($filter_value[
'from'])) ? (
int) $filter_value[
'from'] :
null;
36 $to = (isset($filter_value[
'to'])) ? (
int) $filter_value[
'to'] :
null;
40 =
"INNER JOIN il_dcl_record_field AS filter_record_field_{$this->getId()} ON (filter_record_field_{$this->getId()}.record_id = record.id AND filter_record_field_{$this->getId()}.field_id = " 41 .
$ilDB->quote($this->
getId(),
'integer') .
") ";
42 $join_str .=
"INNER JOIN il_dcl_stloc{$this->getStorageLocation()}_value AS filter_stloc_{$this->getId()} ON (filter_stloc_{$this->getId()}.record_field_id = filter_record_field_{$this->getId()}.id";
44 $join_str .=
" AND filter_stloc_{$this->getId()}.value >= " .
$ilDB->quote($from,
'integer');
47 $join_str .=
" AND filter_stloc_{$this->getId()}.value <= " .
$ilDB->quote($to,
'integer');
52 $sql_obj->setJoinStatement($join_str);
70 if (!is_numeric($value)) {
76 $valid = parent::checkValidity((
int) $value, $record_id);
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
Returns a query-object for building the record-loader-sql-query.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
checkValidity($value, ?int $record_id=null)