DataTable¶
-
class
AeonDigital\ORM\DataTable¶ - Classe que representa uma tabela de dados.
Parent: AeonDigital\DataModel\Abstracts\aModelImplements: AeonDigital\Interfaces\ORM\iTable
Properties¶
Methods¶
-
public
AeonDigital\ORM\DataTable::setDAL($DAL)¶ - Define o objeto
iDALa ser usado para executar as instruçõesCRUDdestatabela.Deve ser definido apenas 1 vez.Parameters: - ‹ AeonDigital\Interfaces\DAL\iDAL › $DAL
Objeto DAL a ser usado.
Returns: ‹ void ›
- ‹ AeonDigital\Interfaces\DAL\iDAL › $DAL
-
public
AeonDigital\ORM\DataTable::getAlias()¶ - Nome abreviado da tabela de dados.Usado para evitar ambiguidades entre as colunas desta e de outras tabelas dedados.
Returns: ‹ string ›
-
public
AeonDigital\ORM\DataTable::getExecuteAfterCreateTable()¶ - Retorna um array contendo as instruções que devem ser executadas após a tabela dedados ser criada.
Returns: ‹ ?array ›
-
public
AeonDigital\ORM\DataTable::getUniqueMultipleKeys()¶ - Retorna um array de arrays contendo em cada qual uma coleção de nomes de colunas dedados desta mesma tabela. Cada conjunto de nomes irá corresponder a uma constraintdo tipo unique composta.
Returns: ‹ ?array ›
-
public
AeonDigital\ORM\DataTable::getLastDALError()¶ - Retorna a mensagem de erro referente a última instrução SQL executada internamentepela conexão com o banco de dados.Não havendo erro, retorna
null.Returns: ‹ ?string ›
-
public
AeonDigital\ORM\DataTable::countRows()¶ - Retorna o total de registros existentes nesta tabela de dados.
Returns: ‹ int ›
-
public
AeonDigital\ORM\DataTable::hasId($Id)¶ - Identifica se existe na tabela de dados um registro com o Id indicado.
Parameters: - ‹ int › $Id
Id do objeto.
Returns: ‹ bool ›
- ‹ int › $Id
-
public
AeonDigital\ORM\DataTable::save($parentTableName=null, $parentId=null)¶ - Insere ou atualiza os dados da instância atual no banco de dados.
Parameters: - ‹ ?string › $parentTableName
Se definido, deve ser o nome do modelo de dados ao qual o objeto atual deve ser associado. - ‹ ?int › $parentId
Id do objeto pai ao qual este registro deve estar associado.
Returns: ‹ bool ›
Retornarátruecaso esta ação tenha sido bem sucedida. - ‹ ?string › $parentTableName
-
public
AeonDigital\ORM\DataTable::insert($parentTableName=null, $parentId=null)¶ - Insere os dados desta instância em um novo registro no banco de dados.Se este objeto já possui um Id definido esta ação irá falhar.
Parameters: - ‹ ?string › $parentTableName
Se definido, deve ser o nome do modelo de dados ao qual o objeto atual deve ser associado. - ‹ ?int › $parentId
Id do objeto pai ao qual este registro deve estar associado.
Returns: ‹ bool ›
Retornarátruecaso esta ação tenha sido bem sucedida. - ‹ ?string › $parentTableName
-
public
AeonDigital\ORM\DataTable::update($parentTableName=null, $parentId=null)¶ - Atualiza os dados desta instância em um novo registro no banco de dados.Se este objeto não possui um Id definido esta ação irá falhar.
Parameters: - ‹ ?string › $parentTableName
Se definido, deve ser o nome do modelo de dados ao qual o objeto atual deve ser associado. - ‹ ?int › $parentId
Id do objeto pai ao qual este registro deve estar associado.
Returns: ‹ bool ›
Retornarátruecaso esta ação tenha sido bem sucedida. - ‹ ?string › $parentTableName
-
public
AeonDigital\ORM\DataTable::select($Id, $loadChilds=false)¶ - Carrega esta instância com os dados do registro de Id informado.
Parameters: - ‹ int › $Id
Id do registro que será carregado. - ‹ bool › $loadChilds
Quandotrueirá carregar todos os objetos que são filhos diretos deste.
Returns: ‹ bool ›
- ‹ int › $Id
-
public
AeonDigital\ORM\DataTable::selectParentIdOf($tableName)¶ - Retornará o Id do objeto PAI da instância atual na tabela de dados indicada noparametro
$tableName.Apenas funcionará para os objetos FILHOS em relações1-1e1-N.Parameters: - ‹ string › $tableName
Nome da tabela de dados do objeto pai.
Returns: ‹ ?int ›
- ‹ string › $tableName
-
public
AeonDigital\ORM\DataTable::delete()¶ - Remove o objeto atual do banco de dados.Irá limpar totalmente os objetos filhos substituindo-os por instâncias vazias, oupor coleções vazias.
Returns: ‹ bool ›
-
public
AeonDigital\ORM\DataTable::attachWith($tableName, $tgtId)¶ - Permite definir o vínculo da instância atualmente carregada a um de seus possíveisrelacionamentos indicados nos modelos de dados.
Parameters: - ‹ string › $tableName
Nome da tabela de dados com a qual esta instância passará a ter um vínculo referencial. - ‹ int › $tgtId
Id do registro da tabela de dados alvo onde este vinculo será firmado.
Returns: ‹ bool ›
- ‹ string › $tableName
-
public
AeonDigital\ORM\DataTable::detachWith($tableName, $tgtId=null)¶ - Remove o vínculo existente entre este registro e um outro da tabela de dados.O funcionamento deste método depende da posição no relacionamento em que ainstrução está sendo executada e varia conforme a presença ou não do parametro
$tgtId.- Em relações 1-1:O funcionamento é igual independente da posição em que a instrução está sendoexecutada.Não é preciso definir o parametro$tgtId.A chave extrangeira será anulada.- Em relações 1-N:- A partir da instância PAI:Definindo$tgtId:Apenas o objeto FILHO de$tgtIdespecificado terá seu vínculo desfeito.Omitindo$tgtId:TODOS os objetos FILHOS da instância atual perderão seu vínculo.- A partir da instância FILHA:Não é preciso definir o parametro$tgtId.A chave extrangeira será anulada.- Em relações N-NIndependente do lado:Definindo$tgtId:Irá remover o vínculo existente entre ambos registrosOmitindo$tgtId:TODOS os vínculos entre a instância atual e TODOS os demais serão desfeitos.Parameters: - ‹ string › $tableName
Nome da tabela de dados com a qual esta instância irá romper um vínculo existente. - ‹ ?int › $tgtId
Id do registro da tabela de dados.
Returns: ‹ bool ›
- ‹ string › $tableName
-
public
AeonDigital\ORM\DataTable::__construct($config)¶ - Inicia uma nova tabela de dados.
Parameters: ‹ array › $config
Array associativo com as configurações para esta tabela de dados.- ``` php
- $arr = [
string "tableName" Nome da tabela de dados.
string "alias" Nome abreviado da tabela de dados.
string "description" Descrição da tabela de dados. (opcional)
array "executeAfterCreateTable" Coleção de instruções a serem executadas após a tabela de dados ser definida.
array "uniqueMultipleKeys" Array de arrays contendo em cada qual uma coleção de nomes de colunas de dados desta mesma tabela.
iColumn[] "columns" Array contendo as instâncias das colunas de dados que devem compor este tabela de dados.
array "ormInstructions" Coleção de instruções SQL usadas por esta instância para carregar seus próprios dados e de seus objetos filhos.
];
```
Throws: ‹ InvalidArgumentException ›
Caso algum valor passado não seja válido.