コード例 #1
0
ファイル: FoldingBean.php プロジェクト: ilivanoff/www
 /**
  * Метод возвращает идентификаторы данного фолдинга, хранимые в базе.
  * 
  * @param type $all - признак, возвращать:
  *  * все сущности (выбираются из table)
  *  * видимые сущности (выбираются из view)
  */
 public function getIdents(FoldedResources $folded, $all)
 {
     $folded->assertWorkWithTable();
     $cacheKey = $folded->getUnique('idents-' . ($all ? 'all' : 'vis'));
     if (!$this->CACHE->has($cacheKey)) {
         $view = $all ? $folded->getTableName() : $folded->getTableView();
         $colIdent = $folded->getTableColumnIdent();
         $colStype = $folded->getTableColumnStype();
         $params = array();
         $query = "select {$colIdent} as value from {$view}";
         if ($colStype) {
             $params[] = $folded->getFoldingSubType();
             $query .= " where {$colStype}=?";
         }
         $this->CACHE->set($cacheKey, $this->getValues($query, $params));
     }
     return $this->CACHE->get($cacheKey);
 }
コード例 #2
0
ファイル: PsTable.php プロジェクト: ilivanoff/www
 /**
  * Метод удаляет строку из базы, соотвутствующую переданной сущности фолдинга
  */
 public function deleteFoldingDbRec(FoldedResources $folding, $ident)
 {
     check_condition($folding->getTableName() === $this->getName(), "Таблица {$this->getName()} не работает с фолдингом {$folding->getEntityName()}.");
     $dbrec = $this->getFoldingDbRec($folding, $ident);
     if (is_array($dbrec)) {
         $this->saveRec($folding->getDbRec4Entity($ident), PS_ACTION_DELETE);
     }
 }