FacturaScripts

JoinModel
in package

AbstractYes

Clase base de la que heredan todas las vistas de modelo.

Permite la visualización de datos de varias tablas de la base de datos. Este tipo de modelo es solo para lectura de datos, no permite la modificación o eliminación de datos directamente.

Se debe indicar un modelo principal ("master"), que será el responsable de ejecutar las acciones de modificación de datos. Esto significa que al insertar, modificar o eliminar, solo se realiza la operación sobre el modelo master indicado.

Tags

Carlos García Gómez [email protected]

Table of Contents

Properties

$dataBase  : DataBase
$masterModel  : ModelClass
$attributes  : array<string|int, mixed>
$modelFieldsCache  : array<string|int, mixed>

Methods

__construct()  : mixed
Constructor e inicializador de la clase.
__get()  : mixed
Devuelve el valor del atributo indicado.
__isset()  : mixed
Comprueba si existe el atributo indicado.
__set()  : mixed
Asigna el valor al atributo indicado.
all()  : array<string|int, static>
Devuelve todos los registros que cumplen las condiciones.
allWhereEq()  : array<string|int, static>
Devuelve todos los registros donde el campo es igual al valor.
clear()  : void
Restablece los valores de todos los atributos del modelo.
count()  : int
Devuelve el número de registros que cumplen las condiciones.
countWhereEq()  : int
Devuelve el número de registros donde el campo es igual al valor.
delete()  : bool
Elimina los datos del modelo master de la base de datos.
exists()  : bool
Devuelve true si los datos del modelo existen en la base de datos.
getModelFields()  : array<string|int, mixed>
Devuelve la definición y el tipo de los campos incluidos en la vista.
hasColumn()  : bool
Comprueba si el modelo contiene la columna indicada.
id()  : mixed
Devuelve el valor de la clave primaria del modelo master.
load()  : bool
Carga un registro del modelo utilizando el código de la clave primaria del master model.
loadFromCode()  : bool
Carga un registro mediante un código o condiciones adicionales.
loadWhere()  : bool
Carga el primer registro que coincida con las condiciones especificadas.
loadWhereEq()  : bool
Carga el primer registro cuyo campo coincide con el valor indicado.
primaryColumnValue()  : mixed
Devuelve el valor de la clave primaria del modelo principal.
totalSum()  : float
Suma los valores de un campo para los registros que cumplen las condiciones.
url()  : string
Devuelve la URL donde ver o modificar los datos.
db()  : DataBase
Devuelve la instancia de la base de datos actual.
getFields()  : array<string|int, mixed>
Devuelve la lista de campos o columnas para la cláusula SELECT.
getGroupFields()  : string
Devuelve los campos para la cláusula GROUP BY.
getSQLFrom()  : string
Devuelve las tablas relacionadas para la cláusula FROM.
getTables()  : array<string|int, mixed>
Devuelve la lista de tablas necesarias para la ejecución de la vista.
loadFromData()  : void
Asigna los valores del array $data a los atributos del modelo.
setMasterModel()  : void
Establece el modelo master para las operaciones de datos.
checkTables()  : bool
Comprueba que existen todas las tablas necesarias.
fieldsList()  : string
Convierte la lista de campos en una cadena para la cláusula SELECT.
getCacheKey()  : string
Construye la clave de caché incluyendo las tablas del join, para poder invalidarla solamente cuando cambia alguna de ellas.
getGroupBy()  : string
Devuelve la cláusula GROUP BY.
getOrderBy()  : string
Convierte un array de ordenamiento en una cláusula ORDER BY.

Properties

$masterModel

protected ModelClass $masterModel

Modelo principal para las operaciones de datos.

$attributes

private array<string|int, mixed> $attributes = []

Atributos del modelo.

$modelFieldsCache

private static array<string|int, mixed> $modelFieldsCache = []

Caché de campos (con tipos) por clase, para evitar reintrospección.

Methods

__construct()

Constructor e inicializador de la clase.

public __construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
$data : array<string|int, mixed> = []

__get()

Devuelve el valor del atributo indicado.

public __get(mixed $name) : mixed
Parameters
$name : mixed

__isset()

Comprueba si existe el atributo indicado.

public __isset(mixed $name) : mixed
Parameters
$name : mixed

__set()

Asigna el valor al atributo indicado.

public __set(mixed $name, mixed $value) : mixed
Parameters
$name : mixed
$value : mixed

all()

Devuelve todos los registros que cumplen las condiciones.

public static all([array<string|int, Where$where = [] ][, array<string|int, mixed> $order = [] ][, int $offset = 0 ][, int $limit = 0 ]) : array<string|int, static>
Parameters
$where : array<string|int, Where> = []
$order : array<string|int, mixed> = []
$offset : int = 0
$limit : int = 0
Return values
array<string|int, static>

allWhereEq()

Devuelve todos los registros donde el campo es igual al valor.

public static allWhereEq(string $field, mixed $value[, array<string|int, mixed> $order = [] ]) : array<string|int, static>
Parameters
$field : string
$value : mixed
$order : array<string|int, mixed> = []
Return values
array<string|int, static>

clear()

Restablece los valores de todos los atributos del modelo.

public clear() : void

count()

Devuelve el número de registros que cumplen las condiciones.

public static count([array<string|int, Where$where = [] ]) : int
Parameters
$where : array<string|int, Where> = []
Return values
int

countWhereEq()

Devuelve el número de registros donde el campo es igual al valor.

public static countWhereEq(string $field, mixed $value) : int
Parameters
$field : string
$value : mixed
Return values
int

delete()

Elimina los datos del modelo master de la base de datos.

public delete() : bool
Return values
bool

exists()

Devuelve true si los datos del modelo existen en la base de datos.

public exists() : bool
Return values
bool

getModelFields()

Devuelve la definición y el tipo de los campos incluidos en la vista.

public getModelFields() : array<string|int, mixed>
Return values
array<string|int, mixed>

hasColumn()

Comprueba si el modelo contiene la columna indicada.

public hasColumn(string $columnName) : bool
Parameters
$columnName : string
Return values
bool

id()

Devuelve el valor de la clave primaria del modelo master.

public id() : mixed

load()

Carga un registro del modelo utilizando el código de la clave primaria del master model.

public load(mixed $code) : bool
Parameters
$code : mixed
Return values
bool

loadFromCode()

Carga un registro mediante un código o condiciones adicionales.

public loadFromCode(mixed $cod[, array<string|int, Where$where = [] ][, array<string|int, mixed> $orderby = [] ]) : bool

Usar load() cuando solo se necesita cargar por código, o loadWhere() cuando se requieren condiciones WHERE u ordenamiento adicionales.

Parameters
$cod : mixed
$where : array<string|int, Where> = []
$orderby : array<string|int, mixed> = []
Attributes
#[Deprecated]
$reason: 'Use load() or loadWhere() instead'
Return values
bool

loadWhere()

Carga el primer registro que coincida con las condiciones especificadas.

public loadWhere(array<string|int, Where$where[, array<string|int, mixed> $order = [] ]) : bool
Parameters
$where : array<string|int, Where>
$order : array<string|int, mixed> = []
Return values
bool

loadWhereEq()

Carga el primer registro cuyo campo coincide con el valor indicado.

public loadWhereEq(string $field, mixed $value) : bool
Parameters
$field : string
$value : mixed
Return values
bool

primaryColumnValue()

Devuelve el valor de la clave primaria del modelo principal.

public primaryColumnValue() : mixed

Usar id() en su lugar.

Attributes
#[Deprecated]
$reason: 'Use id() instead'
$replacement: '%class%->id()'

totalSum()

Suma los valores de un campo para los registros que cumplen las condiciones.

public totalSum(string $field[, array<string|int, Where$where = [] ]) : float
Parameters
$field : string
$where : array<string|int, Where> = []
Return values
float

url()

Devuelve la URL donde ver o modificar los datos.

public url([string $type = 'auto' ][, string $list = 'List' ]) : string
Parameters
$type : string = 'auto'
$list : string = 'List'
Return values
string

getFields()

Devuelve la lista de campos o columnas para la cláusula SELECT.

protected abstract getFields() : array<string|int, mixed>
Return values
array<string|int, mixed>

getGroupFields()

Devuelve los campos para la cláusula GROUP BY.

protected getGroupFields() : string
Return values
string

getSQLFrom()

Devuelve las tablas relacionadas para la cláusula FROM.

protected abstract getSQLFrom() : string
Return values
string

getTables()

Devuelve la lista de tablas necesarias para la ejecución de la vista.

protected abstract getTables() : array<string|int, mixed>
Return values
array<string|int, mixed>

loadFromData()

Asigna los valores del array $data a los atributos del modelo.

protected loadFromData(array<string|int, mixed> $data) : void
Parameters
$data : array<string|int, mixed>

setMasterModel()

Establece el modelo master para las operaciones de datos.

protected setMasterModel(mixed $model) : void
Parameters
$model : mixed

checkTables()

Comprueba que existen todas las tablas necesarias.

private checkTables() : bool
Return values
bool

fieldsList()

Convierte la lista de campos en una cadena para la cláusula SELECT.

private fieldsList() : string
Return values
string

getCacheKey()

Construye la clave de caché incluyendo las tablas del join, para poder invalidarla solamente cuando cambia alguna de ellas.

private getCacheKey(string $suffix) : string
Parameters
$suffix : string
Return values
string

getGroupBy()

Devuelve la cláusula GROUP BY.

private getGroupBy() : string
Return values
string

getOrderBy()

Convierte un array de ordenamiento en una cláusula ORDER BY.

private getOrderBy(array<string|int, mixed> $order) : string
Parameters
$order : array<string|int, mixed>
Return values
string
On this page

Search results