19 declare(strict_types=1);
    28         string $direction = 
"asc",
    29         bool $sort_by_status = 
false    36             $this->
getProperty(self::PROP_REFERENCE) === null ||
    45         if ($ref_field->getStorageLocation() == 0) {
    49         $select_str = 
"stloc_{$this->getId()}_joined.value AS field_{$this->getId()},";
    50         $join_str = 
"LEFT JOIN il_dcl_record_field AS record_field_{$this->getId()} ON (record_field_{$this->getId()}.record_id = record.id AND record_field_{$this->getId()}.field_id = "    51             . 
$ilDB->quote($this->
getId(), 
'integer') . 
") ";
    52         $join_str .= 
"LEFT JOIN il_dcl_stloc{$this->getStorageLocation()}_value AS stloc_{$this->getId()} ON (stloc_{$this->getId()}.record_field_id = record_field_{$this->getId()}.id) ";
    53         $join_str .= 
"LEFT JOIN il_dcl_record_field AS record_field_{$this->getId()}_joined ON (record_field_{$this->getId()}_joined.record_id = stloc_{$this->getId()}.value AND record_field_{$this->getId()}_joined.field_id = "    54             . 
$ilDB->quote($ref_field->getId(), 
'integer') . 
") ";
    55         $join_str .= 
"LEFT JOIN il_dcl_stloc{$ref_field->getStorageLocation()}_value AS stloc_{$this->getId()}_joined ON (stloc_{$this->getId()}_joined.record_field_id = record_field_{$this->getId()}_joined.id) ";
    58         $sql_obj->setSelectStatement($select_str);
    59         $sql_obj->setJoinStatement($join_str);
    60         $sql_obj->setOrderStatement(
"field_{$this->getId()} " . $direction . 
", ID ASC");
    75             = 
" LEFT 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 = "    76             . 
$ilDB->quote($this->
getId(), 
'integer') . 
") ";
    77         $join_str .= 
" LEFT 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) ";
    81         if ($filter_value == 
'none') {
    83                 . 
"filter_stloc_{$this->getId()}.value IS NULL "    84                 . 
" OR filter_stloc_{$this->getId()}.value = " . 
$ilDB->quote(
"", 
'text')
    85                 . 
" OR filter_stloc_{$this->getId()}.value = " . 
$ilDB->quote(
"[]", 
'text')
    90                     .= 
" filter_stloc_{$this->getId()}.value LIKE "    91                     . 
$ilDB->quote(
"%$filter_value%", 
'text');
    94                     .= 
" filter_stloc_{$this->getId()}.value = "    95                     . 
$ilDB->quote($filter_value, 
'integer');
   100         $sql_obj->setJoinStatement($join_str);
   101         $sql_obj->setWhereStatement($where_str);
   128     public function afterClone(array $records): 
void   136         if ($reference_clone) {
   140         parent::afterClone($records);
 
hasProperty(string $key)
Checks if a certain property for a field is set. 
 
const PROP_REFERENCE_LINK
 
static getFieldCache(int $field_id=0)
 
getRecordQuerySortObject(string $direction="asc", bool $sort_by_status=false)
 
updateProperties()
Update properties of this field in Database. 
 
getTableId()
Get table id. 
 
getValidFieldProperties()
 
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
 
afterClone(array $records)
 
const INPUTFORMAT_FILEUPLOAD
 
static getCloneOf(int $id, string $type)
 
setProperty(string $key, $value)