Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-fw.madbuilder.com.br/llms.txt

Use this file to discover all available pages before exploring further.

Quando carregamos um objeto (seja por instanciar a classe ou carregar estaticamente), temos como retorno o objeto da classe desejada. Agora, quando carregamos coleções, temos um vetor de objetos. Da mesma maneira que podemos manipular os objetos individualmente, podemos fazer diversas operações com coleções. Operações possíveis de serem executadas em coleções:
  1. Contar;
  2. Carregar;
  3. Carregar de forma paginada;
  4. Atualizar;
  5. Excluir.

6.1. O que são coleções?

Para ficar mais claro, veja o exemplo a seguir:
    TTransaction::open('exemplos');

    $funcionarios = Funcionario::all();

    var_dump($funcionarios);

    TTransaction::close();
O comando SQL gerado é:
    SELECT nome,sobrenome,dt_nascimento,funcao_id,cidade_id,endereco,cep,id FROM funcionario
O resultado vai ser um vetor contendo todos os registros da tabela funcionario:
    array (size=6)
      0 => 
        object(Funcionario)[7]
          private 'cidade' => null
          private 'funcao' => null
          protected 'data' => 
            array (size=8)
              'nome' => string 'Artur' (length=5)
              'sobrenome' => string 'Comunello' (length=9)
              'dt_nascimento' => string '1999-01-01' (length=10)
              'funcao_id' => string '1' (length=1)
              'cidade_id' => string '1' (length=1)
              'endereco' => string 'Rua São Sepé' (length=14)
              'cep' => string '99000-000' (length=9)
              'id' => string '1' (length=1)
          protected 'vdata' => null
          protected 'attributes' => 
            array (size=7)
              0 => string 'nome' (length=4)
              1 => string 'sobrenome' (length=9)
              2 => string 'dt_nascimento' (length=13)
              3 => string 'funcao_id' (length=9)
              4 => string 'cidade_id' (length=9)
              5 => string 'endereco' (length=8)
              6 => string 'cep' (length=3)

              ...
Como mencionado anteriormente, existem diversas operações possíveis com coleções. Veremos algumas em detalhes a seguir.