prinick96 / Ocrend-Framework

Ocrend Framework Repositorio Oficial, Comunidad en https://foro.ocrend.com
https://framework.ocrend.com
MIT License
44 stars 28 forks source link

Pasar BD como Metodo #11

Closed marcgdl closed 7 years ago

marcgdl commented 7 years ago

Saludos

Estoy intentando mostrar información de distintas base de datos, para lo cual estoy utilizando una ruta ejemplo;

localhost/Ocrend/empresa/BD_numero1

El metodo (BD_numero1), estoy intentando cargarlo para una nueva conexión a la base de datos de la siguiente manera;

parent::__construct($this->route->getMethod(),'mssql',true);

me arroja el siguiente error; ` Notice: Undefined property: Empresa::$route in C:\xampp7\htdocs\UMA\core\models\Empresa.php on line 11

Fatal error: Uncaught Error: Call to a member function getMethod() on null in C:\xampp7\htdocs\UMA\core\models\Empresa.php:11 Stack trace: #0 C:\xampp7\htdocs\UMA\core\controllers\empresaController.php(14): Empresa->construct() #1 C:\xampp7\htdocs\UMA\index.php(34): empresaController->construct() #2 {main} thrown in C:\xampp7\htdocs\UMA\core\models\Empresa.php on line 11`

Si ingreso como texto el método funciona correctamente;

prinick96 commented 7 years ago
$this->route->getMethod()

Sólo está definido en controladores, no desde los modelos. Así que para hacer eso te tocaría hacer algo así:

tucontroladorController.php

# Dentro del método en donde invoques al modelo
new TuModelo($this->route->getMethod());
# /Dentro del método en donde invoques al modelo

TuModelo.php

# Quitas la implementación de OCREND, de tal forma que te quede
final class TuModelo extends Models {
 public function __construct($DB) {
    parent::__construct($DB,'mssql',true );
  }
public function __destruct() {
    parent::__destruct();
  }
}