예제 #1
0
파일: Group.php 프로젝트: omusico/logica
 /**
  * Overrides delete() in App_Model.
  *
  * When a group is deleted, all its children are linked
  * to its parent
  * 
  * @param mixed $where 
  * @access public
  * @return int
  */
 public function delete($where)
 {
     if (is_numeric($where)) {
         $where = $this->_primary . ' = ' . $where;
     }
     $select = new Zend_Db_Select($this->_db);
     $select->from($this->_name);
     $select->where($where);
     $rows = $this->_db->fetchAll($select);
     $userGroupModel = new BackofficeUserGroup();
     foreach ($rows as $row) {
         $children = $this->findByParentId($row['id']);
         foreach ($children as $child) {
             $this->update(array('parent_id' => $row['parent_id']), $this->_db->quoteInto('id = ?', $child['id']));
             $userGroupModel->routeUsersToGroup($row['id'], $row['parent_id']);
         }
     }
     return parent::delete($where);
 }
예제 #2
0
 /**
  * Overrides delete() in App_Model.
  *
  * When an user is deleted, all associated objects are also
  * deleted
  * 
  * @param mixed $where 
  * @access public
  * @return int
  */
 public function delete($where)
 {
     if (is_numeric($where)) {
         $where = $this->_primary . ' = ' . $where;
     }
     $select = new Zend_Db_Select($this->_db);
     $select->from($this->_name);
     $select->where($where);
     $rows = $this->_db->fetchAll($select);
     $userGroupModel = new BackofficeUserGroup();
     foreach ($rows as $row) {
         $userGroupModel->deleteByUserId($row['id']);
     }
     return parent::delete($where);
 }