-
Notifications
You must be signed in to change notification settings - Fork 2
phpdoc modelobase
Clase base de \modelo
. Separamos la funcionalidad de la siguiente forma simplemente para una mejor organización y claridad del código:
modeloBase
Clase con las propiedades y métodos más generales del modelo de datos.
modelo
Clase que extienden las clases concretas del modelo de la aplicación con los métodos útiles que implementan los métodos
generales de modeloBase
en formas específicas, como donde()
, dondeNo()
, etc.
Constructor.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$bd |
\datos\bd |
Instancia de la base de datos a utilizar. Opcional; si se omite, se utilizará la instancia global. | Si | null |
$nombre |
string |
Nombre del modelo de datos. Parámetro de uso interno (normalmente debe omitirse). | Si | null |
$tipoEntidad |
string |
Nombre completo del tipo de las entidades. Parámetro de uso interno (normalmente debe omitirse). | Si | null |
$tabla |
string |
Nombre de la tabla (normalmente debe omitirse). | Si | null |
Devuelve una nueva instancia de las entidades de este modelo.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$valores |
object |array
|
Valores a asignar. | Si | null |
Devuelve: \entidadBase
Fabrica el modelo de datos correspondiente a un campo relacional.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$campo |
object |
Parámetros del campo a evaluar. |
Devuelve: \modeloBase
Devuelve el nombre de la tabla o esquema.
Devuelve: string
Devuelve el nombre del modelo.
Devuelve: string
Devuelve los campos de las entidades.
Devuelve: object
Devuelve el alias.
Devuelve: string
Establece el alias.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$alias |
Devuelve: \modeloBase
Devuelve la cantidad de filas seleccionadas o afectadas en la última consulta.
Devuelve: int
|null
Devuelve el ID del último registro insertado.
Devuelve: int
|null
Reinicia la instancia para construir una nueva consulta.
Devuelve: \modeloBase
Establece que se deben asignar los campos ocultos.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$activar |
bool |
Activar o desactivar este parámetro. | Si | true |
Devuelve: \modeloBase
Establece que se deben omitir todos los campos relacionales.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$omitir |
bool |
Activar o desactivar este comportamiento. | Si | true |
Devuelve: \modeloBase
Establece que se deben omitir los campos relacionales tipo 1:n
.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$omitir |
bool |
Activar o desactivar este comportamiento. | Si | true |
Devuelve: \modeloBase
Establece que se deben incluir en la selección los registros con baja lógica.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$activar |
bool |
Activar o desactivar este parámetro. | Si | true |
Devuelve: \modeloBase
Establece que se debe forzar el procesamiento de determinados campos relacionales, aunque las relaciones estén desactivadas. Este parámetro afecta únicamente las consultas de selección.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
...$campos |
string |
Nombres de los campos. |
Devuelve: \modeloBase
Establece que se deben eliminar los registros de las tablas foráneas cuando las relaciones se eliminen.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$activar |
bool |
Activar o desactivar este parámetro. | Si | true |
Devuelve: \modeloBase
Devuelve la entidad actual.
Devuelve: \entidadBase
Establece si las entidades relacionadas se deben, o no, asumir públicos los datos asignados a los campos relacionales. Esto significa que, si
está activado, los campos se asignarán siempre mediante establecerValoresPublicos()
, o mediante establecerValores()
en caso contrario.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$activar |
bool |null
|
Activa o desactiva este comportamiento, o si es null lo mantiene en automático (se activa si en algún punto es invocado establecerValoresPublicos() ). |
Si | true |
Devuelve: \modeloBase
Devuelve la configuración actual sobre relacionar con valores públicos únicamente (ver relacionarValoresPublicos()
).
Devuelve: bool
|null
Abre un grupo de condiciones o paréntesis.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$union |
int |
Unión con la condición anterior, modeloBase::y (AND ), modeloBase::o (OR ), modeloBase::ox (XOR ). |
Si | self::y |
Devuelve: \modeloBase
Cierra un grupo de condiciones o paréntesis.
Devuelve: \modeloBase
Establece los campos a seleccionar.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
...$campos |
string |
Nombres de los campos. |
Devuelve: \modeloBase
Establece el límite.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$origen |
int |
Origen o registro inicial, comenzando desde 0 . |
||
$b |
int |
Cantidad. | Si | null |
Devuelve: \modeloBase
Establece el límite.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$cantidad |
int |
Cantidad. |
Devuelve: \modeloBase
Establece el ordenamiento.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$campo |
string |
Nombre del campo. Si se omite el alias, se asume campo de este modelo. | ||
$sentido |
string |null
|
Sentido ('asc' o 'desc' ). |
Si | null |
Devuelve: \modeloBase
Establece el agrupamiento (GROUP BY
).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$campo |
string |
Nombre del campo. Si se omite el alias, se asume campo de este modelo. |
Devuelve: \modeloBase
Establece los valores para la operación de inserción o actualización. Solo se considerarán aquellas propiedades cuyo valor no sea
null
(además de ser válidas).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$valores |
object |array |\entidadBase
|
Valores como objeto, array asociativo o instancia de una entidad. Cuando se especifique una instancia de la entidad, siempre se reemplazarán los valores previos (independientemente del valor de $reemplazar ). |
||
$reemplazar |
bool |
Si es false , actualizará los valores asignados previamente. |
Si | false |
$soloPublicos |
bool |
Si es true , únicamente se procesarán los campos públicos (es decir, que presenten @publico ). |
Si | false |
Devuelve: \modeloBase
Asigna propiedades que no son campos de la base de datos en la instancia de la entidad con la que se está trabajando actualmente.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$valores |
object |array |\entidadBase
|
Valores como objeto, array asociativo o instancia de una entidad. | ||
...$nombres |
string |
Listado de nombres de propiedades a asignar. Solo se tomarán estas propiedades, si están presentes, desde $valores . |
Devuelve: \modeloBase
Establece los valores para la operación de inserción o actualización, considerando únicamente los campos que sean válidos, públicos (es
decir, que presenten @publico
) y cuyo valor no sea null
. Este método debe utilizarse cuando se reciban valores
desde el cliente. Nótese que, a diferencia de establecerValores()
, si se especifica una instancia de una entidad, solo se tomarán
sus valores (no se preservará la instancia provista).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$valores |
object |array |\entidadBase
|
Valores como objeto, array asociativo o instancia de una entidad. | ||
$reemplazar |
bool |
Si es false , actualizará los valores asignados previamente. |
Si | false |
Devuelve: \modeloBase
Ejecuta la consulta y devuelve un listado de resultados. Nótese que si la consulta falla o no hay coincidencias, devolverá siempre un array vacío.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$comoObjetoEstandar |
bool |
Si es true , devolverá objetos estándar en lugar de instancias de la entidad. |
Si | false |
Devuelve: array
Ejecuta la consulta y devuelve un único registro, o null
.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$comoObjetoEstandar |
bool |
Si es true , devolverá un objeto estándar en lugar de una instancia de la entidad. |
Si | false |
Devuelve: object
|\entidadBase
Busque y devuelve el registro de ID $id
, o null
. Nótese que la búsqueda se combinará con otras condiciones preexistentes.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$id |
int |
ID a buscar. | ||
$comoObjetoEstandar |
bool |
Si es true , devolverá un objeto estándar en lugar de una instancia de la entidad. |
Si | false |
Devuelve: object
|\entidadBase
Ejecuta la consulta y devuelve el resultado crudo.
Devuelve: \datos\resultado
Prepara la consulta.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$operacion |
int |
Operación a realizar (modeloBase::seleccionar , modeloBase::actualizar , modeloBase::crear , modeloBase::eliminar , modeloBase::contar ). |
Si | self::seleccionar |
Devuelve: \modeloBase
Establece que se va a reutilizar la consulta preparada con nuevos parámetros.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$parametros |
array |object |\entidadBase
|
Nuevos valores a asignar. |
Devuelve: \modeloBase
Realiza el bloqueo de tablas.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$modo |
int |
Modo (modeloBase::soloLectura , modeloBase::lecturaEscritura ). |
||
...$modelos |
string |
Instancias de los modelos a bloquear, nombres de las tablas o ['nombre de la tabla','alias'] . Opcional, si se omite, se realizará el bloqueo de la tabla de esta modelo y de los modelos relacionados hasta el momento. Nótese que el bloqueo se ejecutará inmediatamente (no al realizar la consulta). |
Devuelve: \modeloBase
Desbloquea las tablas. Nótese que se desbloquearán inmediatamente (no luego de realizada la consulta).
Devuelve: \modeloBase
Comienza una transacción. Nótese que la transacción comenzará inmediatamente (no al realizar la consulta).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$modo |
int |
Modo (modeloBase::soloLectura , modeloBase::lecturaEscritura ). |
Devuelve: \modeloBase
Finaliza la transacción (commit). Nótese que la transacción finalizará inmediatamente (no luego de realizar la consulta).
Devuelve: \modeloBase
Descarta la transacción (rollback). Nótese que la transacción finalizará inmediatamente (no luego de realizar la consulta).
Devuelve: \modeloBase
Estima y devuelve la cantidad de registros que devolvería una consulta con la configuración actual.
Devuelve: int
Actualiza el o los registros con los valores actualmente asignados.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$id |
int |
ID a actualizar. Opcional, si se omite, se utilizará el valor del campo id . |
Si | null |
Devuelve: \modeloBase
Crea el registro con los valores actualemnte asignados.
Devuelve: \modeloBase
Elimina un registro.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$id |
int |
ID. Nótese que se combinará con cualquier condición preexistente. | Si | null |
Devuelve: \modeloBase
Recupera (restaura) un registro eliminado.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$id |
int |
ID. Nótese que se combinará con cualquier condición preexistente. | Si | null |
Devuelve: \modeloBase
Devuelve los detalles de la última consulta ejecutada.
Devuelve: object
Devuelve el tipo correspondiente a un campo de la entidad.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$campo |
object |
Parámetros del campo a evaluar. |
Devuelve: int
Agrega una condición.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$campo |
string |
Campo. | ||
$operador |
mixed |
Operador de comparación (= , < , <= , > , >= , <> , modeloBase::como , modeloBase::noComo ). |
||
$valor |
mixed |
Valor a comparar. | ||
$union |
int |
Unión con la condición anterior, modeloBase::y (AND ), modeloBase::o (OR ), modeloBase::ox (XOR ). |
Si | self::y |
$tipoCondicion |
int |
Tipo de condición, modeloBase::donde (WHERE ) o modeloBase::teniendo (HAVING ). |
Si | self::donde |
Devuelve: \modeloBase
Agrega una condición para un campo de búsqueda (@busqueda
).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$alias |
string |
Alias. | ||
$campo |
string |
Nombre del campo. | ||
$valor |
string |
Valor a buscar. | ||
$union |
int |
Unión con la condición anterior, modeloBase::y (AND ), modeloBase::o (OR ), modeloBase::ox (XOR ). |
||
$tipoCondicion |
int |
Tipo de condición, modeloBase::donde (WHERE ) o modeloBase::teniendo (HAVING ). |
Si | self::donde |
Devuelve: \modeloBase
Agrega una condición como un fragmento de código SQL.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$sql |
string |
Código SQL. | ||
$parametros |
array |
Parámetros utilizados en la sentencia, como ['nombre'=>valor] . |
Si | null |
$tipos |
array |
Tipos de los valores, como ['nombre'=>tipo] (ver constantes constructor::tipo ). Opcional; si se omite, se estimarán los tipos automáticamente. |
Si | null |
$union |
int |
Unión con la condición anterior, modeloBase::y (AND ), modeloBase::o (OR ), modeloBase::ox (XOR ). |
Si | self::y |
$tipo |
int |
Tipo de condición, modeloBase::donde (WHERE ) o modeloBase::teniendo (HAVING ). |
Si | condicion::donde |
Devuelve: \modeloBase
Agrega una relación con un modelo foráneo.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$tipo |
int |
Tipo de relación, relacion::izquierda (LEFT JOIN ), relacion::derecha (RIGHT JOIN ), relacion::interior (INNER JOIN ). |
||
$modelo |
\modeloBase |
Instancia del modelo. | ||
$alias |
string |
Alias. | ||
$campo |
string |
Nombre del campo local. | ||
$campoForaneo |
string |
Nombre del campo foráneo. | ||
$destino |
string |
Nombre de la propiedad en la que se asignará la entidad foránea (por defecto, será igual al nombrer del modelo). | Si | null |
Devuelve: \modeloBase
Agrega una relación cuya condición (ON ...
) es un fragmento de código SQL.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$tipo |
int |
Tipo de relación, relacion::izquierda (LEFT JOIN ), relacion::derecha (RIGHT JOIN ), relacion::interior (INNER JOIN ). |
||
$modelo |
\modeloBase |
Instancia del modelo. | ||
$alias |
string |
Alias. | ||
$condicion |
string |
Código SQL de la condición. | ||
$parametros |
array |
Parámetros utilizados en la sentencia, como ['nombre'=>valor] . |
Si | null |
$tipos |
array |
Tipos de los valores, como ['nombre'=>tipo] (ver constantes constructor::tipo ). Opcional; si se omite, se estimarán los tipos automáticamente. |
Si | null |
$destino |
string |
Nombre de la propiedad en la que se asignará la entidad foránea (por defecto, será igual al nombrer del modelo). | Si | null |
Devuelve: \modeloBase
Ejecuta la sentencia construída.
Devuelve: \datos\resultado
Agrega todos los campos a la próxima operación de selección.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$modelo |
\modeloBase |
Modelo del cual extraer el listado de campos. Opcional; si se omite, se asume el modelo actual. | Si | null |
$alias |
string |
Alias del modelo. Opcional; si se omite, se obtendrá de $modelo . |
Si | null |
Devuelve: \modeloBase
Prepara el constructor para una operación de selección estándar.
Devuelve: \modeloBase
Procesa una fila o registro de resultados.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$fila |
object |
Fila. | ||
$comoObjetoEstandar |
bool |
Si es false , devolverá una instancia de la entidad. |
Si | false |
$modelo |
\modeloBase |
Modelo del cual extraer el listado de campos. Opcional; si se omite, se asume el modelo actual. | Si | null |
$procesarRelaciones |
bool |
Solo si es true se procesarán los campos relacionales. |
Si | true |
$operacion |
int |
Operación. | Si | self::seleccionar |
Devuelve: object
|\entidadBase
Procesa los campos relacionales tras una operación de selección.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$comoObjetoEstandar |
bool |
Si es false , devolverá una instancia de la entidad. |
Devuelve: object
|\entidadBase
Finaliza la configuración y construye la consulta. Nótese que por el momento ignora modeloBase::eliminar
(todas las bajas
son bajas lógicas, que son en realidad actualizaciones del campo e
).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$operacion |
int |
Operación (modeloBase::seleccionar , etc.). |
Devuelve: \modeloBase
Agrega todas las relaciones correspondientes a los campos relacionales de la entidad.
Devuelve: \modeloBase
Agrega todos los valores correspondientes a la entidad asignada.
Devuelve: \modeloBase
Construye el valor final a almacenar en una columna de búsqueda.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$cadena |
string |
Cadena a procesar. |
Devuelve: string
Procesa los campos relacionales previo a ejecutar la consulta.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$operacion |
int |
Operación que se realizará en la consulta (modeloBase::seleccionar , etc.). |
Devuelve: \modeloBase
Procesa los campos relacionales postarior a la ejecución de la consulta.
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$operacion |
int |
Operación que se realizó (modeloBase::seleccionar , etc.). |
Devuelve: \modeloBase
Procesa las relaciones recursivamente, si corresponde en cada campo (según la etiqueta @recursion
).
Parámetro | Tipo | Descripción | Opcional | Predeterminado |
---|---|---|---|---|
$modelo |
\modeloBase |
|||
$entidad |
\entidadBase |
|||
$operacion |
int |
|||
$niveles |
int |
Si | null |
|
$nivel |
int |
Si | 1 |
Devuelve: \modeloBase
¿Probaste Foxtrot? Contanos qué te pareció 🥰 contacto@foxtrot.ar
Índice
Primeros pasos
Gestor de aplicaciones
Editor de vistas
Componentes
Módulos
Comunicación cliente<->servidor
Modelo de datos - ORM
PHPDOC
JSDOC
☝ Comentarios
🤷♂️ Dudas
🤓 Ayuda
⌨ Contribuciones
Escribinos: contacto@foxtrot.ar