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 |
__construct(string $tableName, array $primaryKey, Object $db, $dbOptions)
class Usuarios extends AppModel {
public function __construct() {
parent::__construct("usuario", array("id_usu"));
}
}
see | \DB |
---|---|
inherited_from | \AppBaseModel::__construct() |
string
Nombre de la tabla asociada. Si no se indica se asume el nombre de la clase
array
claves primarias del modelo. Se asume por defecto id
Object
Conexión de base de datos. Si no se indica se asume la conexión general
getFields() : array
inherited_from | \AppBaseModel::getFields() |
---|
array
getTableName() : string
inherited_from | \AppBaseModel::getTableName() |
---|
string
save()
$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() |
---|
\PDOException |
Esta excepcion se arrojará en caso de que ocirra algún error ejcutando la sentencia SQL |
---|
search(String $conditions) : array
$usuario = new Usuarios();
$result = $usuarios->search("log_usu='myuser' AND pas_usu='sdhsd6546sd'");
inherited_from | \AppBaseModel::search() |
---|
String
\PDOException |
Esta excepcion se arrojará en caso de que ocirra algún error ejecutando la sentencia SQL |
---|
array
Resultado de la consulta en el que cada registro es un objeto de mismo modelo sobre el cual se ejcuta la consultasetDB(Object $db)
inherited_from | \AppBaseModel::setDB() |
---|
Object
setDBOptions(array $dbOptions)
setPrimaryKey(array $primaryKey)
inherited_from | \AppBaseModel::setPrimaryKey() |
---|
array
setTableName(string $tableName)
inherited_from | \AppBaseModel::setTableName() |
---|
string
update()
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() |
---|
\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 |