Clase padre de todos los modelos

Se asume por defecto que la clave primaria de todos los modelos es "id". En caso de que usted no desee que esto sea así entonces debe indicarlo en el constructor del modelo.

AppBaseModel es abstracta y no puede instanciarse directamente. Por lo que usted debe crear sus modelos en la carpeta correspondiente para hacer uso de ellos. El directorio donde se encuentran los modelos estan en el path de la aplicaicón así que usted puede hacer uso de ellos sin necesidad de incluuirlos en su script

 class Usuario extends AppModel {
public function __construct() {
parent::__construct("usuario", array("id_usu"));
}
}

Una vez que cree su modelo o clase concreta que hereda de AppBaseModel puede hacer uso de sus metodo para crear, modificar consultar o eliminar datos del modelo indicado.

Registrar

$usuario =  new Usuarios();
$usuario->log_usu = "mulogin";
$usuario->pas_usu = "mypassword";
$usuario->save();//Crea un usuario en la base de datos

Consultar

 $usuario =  new Usuarios();
 $result = $usuario->search(); //El resultado es una array de objectos de la misma clase
 

Modificar

 $usuario =  new Usuarios();
 $result = $usuario->search();

 foreach($result  as $usuario){
    $usuario->activo = false;
    $usuario->update();
 }
 
package db
author rbruno
copyright (c) 2013 ValsApp Team

 Methods

Crear un modelo

__construct(string $tableName, array $primaryKey, Object $db, $dbOptions) 
Inherited
 class Usuarios extends AppModel {

public function __construct() {
parent::__construct("usuario", array("id_usu"));
}
}
see \DB
inherited_from \AppBaseModel::__construct()

Parameters

$tableName

string

Nombre de la tabla asociada. Si no se indica se asume el nombre de la clase

$primaryKey

array

claves primarias del modelo. Se asume por defecto id

$db

Object

Conexión de base de datos. Si no se indica se asume la conexión general

$dbOptions

Obtiene la conexión de datos usada por el modelo

getDb() : \DB
Inherited
inherited_from \AppBaseModel::getDb()

Returns

Obtiene los campos del modelo

getFields() : array
Inherited
inherited_from \AppBaseModel::getFields()

Returns

array

Obtiene el nombre de la tabla asociada al modelo

getTableName() : string
Inherited
inherited_from \AppBaseModel::getTableName()

Returns

string

Inserta los valores de este modelo como un nuevo registro en la base de datos.

save() 
Inherited
$usuario =  new Usuarios();
$usuario->log_usu = "mulogin";
$usuario->pas_usu = "mypassword";
$usuario->save();//Crea un usuario en la base de datos
inherited_from \AppBaseModel::save()

Exceptions

\PDOException Esta excepcion se arrojará en caso de que ocirra algún error ejcutando la sentencia SQL

Establce la conexión a usar en el modelo

setDB(Object $db) 
Inherited
inherited_from \AppBaseModel::setDB()

Parameters

$db

Object

Establece las opciones de la conexión a base de datos

setDBOptions(array $dbOptions) 
Inherited
see \DB
inherited_from \AppBaseModel::setDBOptions()

Parameters

$dbOptions

array

Indica los campos que son clave primaria

setPrimaryKey(array $primaryKey) 
Inherited
inherited_from \AppBaseModel::setPrimaryKey()

Parameters

$primaryKey

array

Establce el nombre de la tabla en base de datos

setTableName(string $tableName) 
Inherited
inherited_from \AppBaseModel::setTableName()

Parameters

$tableName

string

Actualiza los datos del modelo en la base de datos.

update() 
Inherited

Para ello deben estar definido en el constructor del modelo los campos que son clave primaria.

 $usuario =  new Usuarios();
 $result = $usuario->search();

 foreach($result  as $usuario){
    $usuario->activo = false;
    $usuario->update();
 }
 
inherited_from \AppBaseModel::update()

Exceptions

\DBException
Esta excepción será arrojada si los campos que son clave primaria no se han definido o no tienen valor. Tambien cuando se llama a este método y no se ha dado valor a ninguno de los campos del modelo
\PDOException Esta excepcion se arrojará en caso de que ocirra algún error ejcutando la sentencia SQL

 Properties