Skip to main content
Além de carregar e atualizar coleções, é possível deletar todos os registros que obedecerem a um filtro. Para deletar registros em lote é muito simples: o primeiro passo é criar um critério com os filtros desejados e depois usar a função delete($criteria), passando a API de critérios como filtro em uma classe de repositório. Um exemplo seria deletar todos os clientes que:
  1. Sejam do sexo masculino;
  2. Tenham menos de 15 anos.
O código-fonte completo que atende a esses critérios seria:
O comando SQL gerado foi:

13.1. Deletar uma coleção de forma estática

Assim como podemos deletar uma coleção usando a API de critérios, podemos deletar uma coleção usando o método estático delete(). Ele é usado da mesma maneira que o carregamento estático: primeiro é necessário estabelecer os filtros com a função where() e depois a função delete(). O exemplo abaixo é o mesmo que o anterior, obedecendo às mesmas regras.
O comando SQL gerado foi: