FacturaScripts

Producto extends ModelClass
in package
Uses ModelTrait, TaxRelationTrait

Stores the data of an article.

Tags
author

Carlos García Gómez [email protected]

Table of Contents

AUDIT_CHANNEL  = 'audit'
DATE_STYLE  = 'd-m-Y'
DATETIME_STYLE  = 'd-m-Y H:i:s'
HOUR_STYLE  = 'H:i:s'
ROUND_DECIMALS  = 5
$actualizado  : string
Date when this product was updated.
$bloqueado  : bool
True => the articles are locked / obsolete.
$codfabricante  : string
Code of the manufacturer to which it belongs. In the manufacturer class.
$codfamilia  : string
Code of the family to which it belongs. In the family class.
$codimpuesto  : string
Tax identifier of the tax assigned.
$codsubcuentacom  : string
Account code for purchases.
$codsubcuentairpfcom  : string
Code for the shopping account, but with IRPF.
$codsubcuentaven  : string
Aaccount code for sales.
$descripcion  : string
Description of the product.
$excepcioniva  : string
$fechaalta  : string
Date on which the product was registered.
$idproducto  : int
Primary key.
$nostock  : bool
True -> do not control the stock.
$observaciones  : string
Observations of the article.
$precio  : float|int
Price of the item, without taxes.
$publico  : bool
True -> will be synchronized with the online store.
$referencia  : string
Main product reference or SKU.
$secompra  : bool
True => the item is purchased.
$sevende  : bool
True => the item is sold.
$stockfis  : float|int
Physical stock.
$tipo  : string
$ventasinstock  : bool
True -> allow sales without stock.
$dataBase  : DataBase
It provides direct access to the database.
$fields  : array<string|int, mixed>
List of fields in the table.
$checkedTables  : array<string|int, mixed>
List of already tested tables.
__construct()  : mixed
ModelClass constructor.
__get()  : mixed
addExtension()  : mixed
Adds an extension to this model.
all()  : array<string|int, static>
Returns all models that correspond to the selected filters.
changePrimaryColumnValue()  : bool
Change the value of the primary column in the model and the database.
clear()  : mixed
codeModelAll()  : array<string|int, CodeModel>
Allows to use this model as source in CodeModel special model.
codeModelSearch()  : array<string|int, CodeModel>
Allows to use this model as source in CodeModel special model.
count()  : int
Returns the number of records in the model that meet the condition.
delete()  : bool
Remove the model data from the database.
exists()  : bool
Returns true if the model data is stored in the database.
get()  : static|false
Returns the model whose primary column corresponds to the value $cod
getFabricante()  : Fabricante
getFamilia()  : Familia
getImages()  : array<string|int, ProductoImagen>
getModelFields()  : array<string|int, mixed>
Returns the list of fields in the table.
getTax()  : Impuesto
Returns the current tax or the default one
getVariants()  : array<string|int, Variante>
install()  : string
loadFromCode()  : bool
Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.
loadFromData()  : mixed
Assign the values of the $data array to the model properties.
modelClassName()  : string
Returns the name of the class of the model.
newCode()  : int
Returns the following code for the reported field or the primary key of the model.
pipe()  : mixed
Executes all $name methods added from the extensions.
pipeFalse()  : bool
Executes all $name methods added from the extensions until someone returns false.
priceWithTax()  : float
primaryColumn()  : string
primaryColumnValue()  : mixed
Returns the current value of the main column of the model.
primaryDescription()  : string
Descriptive identifier for humans of the data record
primaryDescriptionColumn()  : string
Returns the name of the column that describes the model, such as name, description.
save()  : bool
Stores the model data in the database.
setPriceWithTax()  : mixed
tableName()  : string
test()  : bool
Returns true if there are no errors in the values of the model properties.
toArray()  : array<string|int, mixed>
Returns an array with the model fields values.
update()  : mixed
Updated product price or reference if any change in variants.
url()  : string
Returns the url where to see / modify the data.
loadModelFields()  : mixed
Loads table fields if is necessary.
modelName()  : string
Returns the name of the model.
saveInsert()  : bool
Insert the model data in the database.
saveUpdate()  : bool
Update the model data in the database.
toolBox()  : ToolBox
checkTable()  : bool
Checks and updates the structure of the table if necessary.
getBoolValueForField()  : bool|null
Returns the boolean value for the field.
getFloatValueForField()  : float|null
Returns the float value for the field.
getIntegerValueForField()  : int|null
Returns the integer value by controlling special cases for the PK and FK.
getOrderBy()  : string
Convert an array of filters order by in string.
getRecord()  : array<string|int, mixed>
Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.

Constants

AUDIT_CHANNEL

public mixed AUDIT_CHANNEL = 'audit'

DATE_STYLE

public mixed DATE_STYLE = 'd-m-Y'

DATETIME_STYLE

public mixed DATETIME_STYLE = 'd-m-Y H:i:s'

HOUR_STYLE

public mixed HOUR_STYLE = 'H:i:s'

ROUND_DECIMALS

public mixed ROUND_DECIMALS = 5

Properties

$actualizado

Date when this product was updated.

public string $actualizado

$bloqueado

True => the articles are locked / obsolete.

public bool $bloqueado

$codfabricante

Code of the manufacturer to which it belongs. In the manufacturer class.

public string $codfabricante

$codfamilia

Code of the family to which it belongs. In the family class.

public string $codfamilia

$codimpuesto

Tax identifier of the tax assigned.

public string $codimpuesto

$codsubcuentacom

Account code for purchases.

public string $codsubcuentacom

$codsubcuentairpfcom

Code for the shopping account, but with IRPF.

public string $codsubcuentairpfcom

$codsubcuentaven

Aaccount code for sales.

public string $codsubcuentaven

$descripcion

Description of the product.

public string $descripcion

$excepcioniva

public string $excepcioniva

$fechaalta

Date on which the product was registered.

public string $fechaalta

$idproducto

Primary key.

public int $idproducto

$nostock

True -> do not control the stock.

public bool $nostock

Activating it implies putting True $ventasinstock;

$observaciones

Observations of the article.

public string $observaciones

$precio

Price of the item, without taxes.

public float|int $precio

$publico

True -> will be synchronized with the online store.

public bool $publico

$referencia

Main product reference or SKU.

public string $referencia

$secompra

True => the item is purchased.

public bool $secompra

$sevende

True => the item is sold.

public bool $sevende

$stockfis

Physical stock.

public float|int $stockfis

$ventasinstock

True -> allow sales without stock.

public bool $ventasinstock

$dataBase

It provides direct access to the database.

protected static DataBase $dataBase

$fields

List of fields in the table.

protected static array<string|int, mixed> $fields = []

$checkedTables

List of already tested tables.

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

Methods

__construct()

ModelClass constructor.

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

__get()

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

addExtension()

Adds an extension to this model.

public abstract static addExtension(mixed $extension) : mixed
Parameters
$extension : mixed
Return values
mixed

all()

Returns all models that correspond to the selected filters.

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

filters to apply to model records.

$order : array<string|int, mixed> = []

fields to use in the sorting. For example ['code' => 'ASC']

$offset : int
$limit : int = 50
Return values
array<string|int, static>

changePrimaryColumnValue()

Change the value of the primary column in the model and the database.

public changePrimaryColumnValue(mixed $newValue) : bool
Parameters
$newValue : mixed
Return values
bool

clear()

public clear() : mixed
Return values
mixed

codeModelAll()

Allows to use this model as source in CodeModel special model.

public codeModelAll([string $fieldCode = '' ]) : array<string|int, CodeModel>
Parameters
$fieldCode : string = ''
Return values
array<string|int, CodeModel>

codeModelSearch()

Allows to use this model as source in CodeModel special model.

public codeModelSearch(string $query[, string $fieldCode = '' ][, array<string|int, DataBaseWhere$where = [] ]) : array<string|int, CodeModel>
Parameters
$query : string
$fieldCode : string = ''
$where : array<string|int, DataBaseWhere> = []
Return values
array<string|int, CodeModel>

count()

Returns the number of records in the model that meet the condition.

public count([array<string|int, DataBaseWhere$where = [] ]) : int
Parameters
$where : array<string|int, DataBaseWhere> = []

filters to apply to model records.

Return values
int

delete()

Remove the model data from the database.

public delete() : bool
Return values
bool

exists()

Returns true if the model data is stored in the database.

public exists() : bool
Return values
bool

get()

Returns the model whose primary column corresponds to the value $cod

public get(string $code) : static|false
Parameters
$code : string
Return values
static|false

getImages()

public getImages([bool $imgVariant = true ]) : array<string|int, ProductoImagen>
Parameters
$imgVariant : bool = true
Return values
array<string|int, ProductoImagen>

getModelFields()

Returns the list of fields in the table.

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

install()

public install() : string
Return values
string

loadFromCode()

Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.

public loadFromCode(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : bool

Initializes the values of the class if there is no record that meet the above conditions. Returns True if the record exists and False otherwise.

Parameters
$code : string
$where : array<string|int, mixed> = []
$order : array<string|int, mixed> = []
Return values
bool

loadFromData()

Assign the values of the $data array to the model properties.

public loadFromData([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ]) : mixed
Parameters
$data : array<string|int, mixed> = []
$exclude : array<string|int, mixed> = []
Return values
mixed

modelClassName()

Returns the name of the class of the model.

public abstract modelClassName() : string
Return values
string

newCode()

Returns the following code for the reported field or the primary key of the model.

public newCode([string $field = '' ][, array<string|int, mixed> $where = [] ]) : int
Parameters
$field : string = ''
$where : array<string|int, mixed> = []
Return values
int

pipe()

Executes all $name methods added from the extensions.

public abstract pipe(string $name, array<string|int, mixed> ...$arguments) : mixed
Parameters
$name : string
$arguments : array<string|int, mixed>
Return values
mixed

pipeFalse()

Executes all $name methods added from the extensions until someone returns false.

public abstract pipeFalse(string $name, array<string|int, mixed> ...$arguments) : bool
Parameters
$name : string
$arguments : array<string|int, mixed>
Return values
bool

priceWithTax()

public priceWithTax() : float
Return values
float

primaryColumn()

public static primaryColumn() : string
Return values
string

primaryColumnValue()

Returns the current value of the main column of the model.

public primaryColumnValue() : mixed
Return values
mixed

primaryDescription()

Descriptive identifier for humans of the data record

public primaryDescription() : string
Return values
string

primaryDescriptionColumn()

Returns the name of the column that describes the model, such as name, description.

public primaryDescriptionColumn() : string

..

Return values
string

save()

Stores the model data in the database.

public save() : bool
Return values
bool

setPriceWithTax()

public setPriceWithTax(float $price) : mixed
Parameters
$price : float
Return values
mixed

tableName()

public static tableName() : string
Return values
string

test()

Returns true if there are no errors in the values of the model properties.

public test() : bool

It runs inside the save method.

Return values
bool

toArray()

Returns an array with the model fields values.

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

update()

Updated product price or reference if any change in variants.

public update() : mixed
Return values
mixed

url()

Returns the url where to see / modify the data.

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

loadModelFields()

Loads table fields if is necessary.

protected abstract loadModelFields(DataBase &$dataBase, string $tableName) : mixed
Parameters
$dataBase : DataBase
$tableName : string
Return values
mixed

modelName()

Returns the name of the model.

protected abstract modelName() : string
Return values
string

saveInsert()

Insert the model data in the database.

protected saveInsert([array<string|int, mixed> $values = [] ]) : bool
Parameters
$values : array<string|int, mixed> = []
Return values
bool

saveUpdate()

Update the model data in the database.

protected saveUpdate([array<string|int, mixed> $values = [] ]) : bool
Parameters
$values : array<string|int, mixed> = []
Return values
bool

checkTable()

Checks and updates the structure of the table if necessary.

private checkTable() : bool
Return values
bool

getBoolValueForField()

Returns the boolean value for the field.

private getBoolValueForField(array<string|int, mixed> $field, mixed $value) : bool|null
Parameters
$field : array<string|int, mixed>
$value : mixed
Return values
bool|null

getFloatValueForField()

Returns the float value for the field.

private getFloatValueForField(array<string|int, mixed> $field, string $value) : float|null
Parameters
$field : array<string|int, mixed>
$value : string
Return values
float|null

getIntegerValueForField()

Returns the integer value by controlling special cases for the PK and FK.

private getIntegerValueForField(array<string|int, mixed> $field, string $value) : int|null
Parameters
$field : array<string|int, mixed>
$value : string
Return values
int|null

getOrderBy()

Convert an array of filters order by in string.

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

getRecord()

Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.

private getRecord(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : array<string|int, mixed>
Parameters
$code : string
$where : array<string|int, mixed> = []
$order : array<string|int, mixed> = []
Return values
array<string|int, mixed>

Search results