Example #1
0
 /**
  * Método para crear/modificar un objeto de base de datos
  *
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $optData: Data adicional para autocargar
  *
  * return object ActiveRecord
  */
 public static function setReporte($method, $data, $optData = null)
 {
     $obj = new Reporte($data);
     //Se carga los datos con los de las tablas
     if ($optData) {
         //Se carga información adicional al objeto
         $obj->dump_result_self($optData);
     }
     //Verifico que no exista otro menu, y si se encuentra inactivo lo active
     $conditions = "usuario_id = {$obj->usuario_id} and nombre = '{$data['nombre']}' and  DATE_FORMAT(fecha, '%Y-%m') = DATE_FORMAT('{$data['fecha']}', '%Y-%m')";
     $old = new Reporte();
     if ($old->find_first($conditions)) {
         if ($method == 'create') {
             $obj->id = $old->id;
             $method = 'update';
         }
     }
     return $obj->{$method}() ? $obj : FALSE;
 }