DataTable

class AeonDigital\ORM\DataTable
Classe que representa uma tabela de dados.
Parent:AeonDigital\DataModel\Abstracts\aModel
Implements:AeonDigital\Interfaces\ORM\iTable

Properties

Methods

public AeonDigital\ORM\DataTable::setDAL($DAL)
Define o objeto iDAL a ser usado para executar as instruções CRUD desta
tabela.
Deve ser definido apenas 1 vez.
Parameters:
  • ‹ AeonDigital\Interfaces\DAL\iDAL › $DAL
    Objeto DAL a ser usado.
Returns:

‹ void ›

public AeonDigital\ORM\DataTable::getAlias()
Nome abreviado da tabela de dados.
Usado para evitar ambiguidades entre as colunas desta e de outras tabelas de
dados.
Returns:‹ string ›
public AeonDigital\ORM\DataTable::getExecuteAfterCreateTable()
Retorna um array contendo as instruções que devem ser executadas após a tabela de
dados 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 de
dados desta mesma tabela. Cada conjunto de nomes irá corresponder a uma constraint
do tipo unique composta.
Returns:‹ ?array ›
public AeonDigital\ORM\DataTable::getLastDALError()
Retorna a mensagem de erro referente a última instrução SQL executada internamente
pela 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 ›

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á true caso esta ação tenha sido bem sucedida.

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á true caso esta ação tenha sido bem sucedida.

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á true caso esta ação tenha sido bem sucedida.

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
    Quando true irá carregar todos os objetos que são filhos diretos deste.
Returns:

‹ bool ›

public AeonDigital\ORM\DataTable::selectParentIdOf($tableName)
Retornará o Id do objeto PAI da instância atual na tabela de dados indicada no
parametro $tableName.
Apenas funcionará para os objetos FILHOS em relações 1-1 e 1-N.
Parameters:
  • ‹ string › $tableName
    Nome da tabela de dados do objeto pai.
Returns:

‹ ?int ›

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, ou
por 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íveis
relacionamentos 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 ›

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 a
instruçã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á sendo
executada.
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 $tgtId especificado 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-N
Independente do lado:
Definindo $tgtId:
Irá remover o vínculo existente entre ambos registros
Omitindo $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 ›

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.