✏️ 正在编辑: GrupoDocumento.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/GrupoDocumento.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_GrupoDocumento { private $_id; private $_descricao; private $_codigo; public function getId() { return $this->_id; } public function setId($id) { $this->_id = $id; } public function getDescricao() { return $this->_descricao; } public function setDescricao($descricao) { $this->_descricao = $descricao; } public function getCodigo() { return $this->_codigo ?? 'P'; } public function setCodigo($codigo) { $this->_codigo = $codigo; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_Tipos(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = array(); foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if( in_array($method, $methods) ){ $data[$col] = $this->$method(); } } $data['tipo'] = "GRUPO_DOCUMENTO"; return $data; } /** * Insere ou altera o registro passado por parâmetro * @param Model_GrupoDocumento $grupoDocumento */ public function salvar(Model_GrupoDocumento $grupoDocumento) { $dbtable = new Model_DbTable_Tipos(); if( $grupoDocumento->getId() > 0 ){ $dbtable->update($grupoDocumento->_toArray(), "id = " . $grupoDocumento->getId()); return $grupoDocumento->getId(); } else { return $dbtable->insert($grupoDocumento->_toArray()); } } /** * Exclui o registro passado por parâmetro * @param int $id * @return int The number of rows deleted */ public function excluir($id) { if( $id > 0 ){ $dbtable = new Model_DbTable_Tipos(); return $dbtable->delete("id = " . $id); } return null; } /** * Retorna uma lista * @param string $where * @param string $order * @param int $count * @param int $offset * @return array */ public function listar($where = null, $order = null, $count = null, $offset = null) { $arrWhere = ["tipo = ?" => 'GRUPO_DOCUMENTO']; if ($where) { $arrWhere = array_merge($arrWhere, $where); } $dbtable = new Model_DbTable_Tipos(); return $dbtable->fetchAll($arrWhere, $order, $count, $offset); } /** * Retorna um fetchRow do item passado por parâmetro * @param int $id * @return Zend_Db_Table_Row_Abstract | null */ public function exibir($id) { $dbtable = new Model_DbTable_Tipos(); return $dbtable->fetchRow("id = " . $id); } public function getPaginatorAdapter($fields, $order = null) { $params = array( "tipo = 'GRUPO_DOCUMENTO'" ); if( isset($fields['descricao']) && !empty($fields['descricao']) ){ $params[] = "descricao LIKE '%" . $fields['descricao'] . "%'"; } $where = null; if( count($params) > 0 ){ $where = implode(" AND ", $params); } $dbtable = new Model_DbTable_Tipos(); $select = $dbtable->select(); if( $where != null ) $select->where($where); if( $order != null ) $select->order($order); return new Zend_Paginator_Adapter_DbTableSelect($select); } public static function getIdGrupo($nome) { $dbtable = new Model_DbTable_Tipos(); $grupo = $dbtable->fetchRow("tipo = 'GRUPO_DOCUMENTO' AND descricao = '{$nome}'"); return $grupo ? $grupo->id : null; } }
💾 保存文件
← 返回文件管理器