3declare(strict_types=1);
 
   28    public function select(array $ref_ids) : array
 
   30        if (count($ref_ids) === 0) {
 
   36            . 
"FROM " . static::TABLE_NAME . 
PHP_EOL 
   38            . implode(
',', $ref_ids)
 
   47        foreach ($ref_ids as $ref_id) {
 
   53            if (array_key_exists($ref_id, 
$data)) {
 
   54                list($op, $value) = 
$data[$ref_id];
 
   56            $conditions[] = new \ilLSPostCondition($ref_id, $op, $value);
 
   61    public function delete(array $ref_ids)
 
   63        if (count($ref_ids) === 0) {
 
   69            . implode(
',', $ref_ids)
 
   71        $this->db->manipulate(
$query);
 
   74    protected function insert(array $ls_post_conditions)
 
   76        foreach ($ls_post_conditions as $condition) {
 
   78                "ref_id" => array(
"integer", $condition->getRefId()),
 
   79                "condition_operator" => array(
"text", $condition->getConditionOperator())
 
   81            $this->db->insert(static::TABLE_NAME, 
$values);
 
   88    public function upsert(array $ls_post_conditions)
 
   90        if (count($ls_post_conditions) === 0) {
 
   95            function ($condition) {
 
   96                return (
int) $condition->getRefId();
 
  101        $ilAtomQuery = $this->db->buildAtomQuery();
 
  102        $ilAtomQuery->addTableLock(static::TABLE_NAME);
 
  103        $ilAtomQuery->addQueryCallable(
 
  105                $this->
delete($ref_ids);
 
  106                $this->
insert($ls_post_conditions);
 
An exception for terminatinating execution or to throw for unit testing.
Storage for ilLSPostConditions.
upsert(array $ls_post_conditions)
insert(array $ls_post_conditions)
const STD_ALWAYS_OPERATOR
__construct(\ilDBInterface $db)