Methods chaining
Method Chaining (encadeamento de métodos) é uma técnica de programação que permite reduzir o tamanho de seus códigos.
Veja os métodos disponíveis para o encadeamento de métodos:
Veja alguns exemplos de method chaining:
Veja os métodos disponíveis para o encadeamento de métodos:
Model::conditions()
Define as condições para a instrução SQL.
Parâmetros:
Parâmetros:
array $conditions [opcional]
Condições a ser definido.
Model::where()
Este método é apenas uma alias para Model::conditions().
Model::fields()
Define os campos que serão retornados em uma consulta SQL.
Parâmetros:
Parâmetros:
array | string $fields [opcional]
Campos a ser definidos.
Model::data()
Define dados para uma inclusão de registro ou alteração.
Parâmetros:
Parâmetros:
array $data
Dados a ser definidos.
Model::values()
Este método é apenas uma alias para Model::data().
Model::join()
Define um join.
Parâmetros:
Parâmetros:
string $join
array $conditions [opcional]
Nome da tabela que será feito o join.
array $conditions [opcional]
Define as condições para o join.
Model::innerJoin()
Define um inner join.
Parâmetros:
Parâmetros:
string $join
array $conditions [opcional]
Nome da tabela que será feito o inner join.
array $conditions [opcional]
Define as condições para o inner join.
Model::leftJoin()
Define um left join.
Parâmetros:
Parâmetros:
string $join
array $conditions [opcional]
Nome da tabela que será feito o left join.
array $conditions [opcional]
Define as condições para o left join.
Model::rightJoin()
Define um right join.
Parâmetros:
Parâmetros:
string $join
array $conditions [opcional]
Nome da tabela que será feito o right join.
array $conditions [opcional]
Define as condições para o right join.
Model::orderBy()
Define uma ordem.
Parâmetros:
Parâmetros:
string $order [opcional]
string $direction [opcional]
Campos a ser ordenado.
string $direction [opcional]
Direção da ordenação.
Valores aceitos: DESC e ASC;
Valores aceitos: DESC e ASC;
Model::groupBy()
Define campos para serem agrupados.
Parâmetros:
Parâmetros:
array | string $group [opcional]
Campos a ser agrupados.
Model::limit()
Define um limite.
Parâmetros:
Parâmetros:
string | number $limit [opcional]
Limite a ser definido.
Model::keyResult()
Define a chave da array do resultado, deve ser o nome de um campo da tabela.
Parâmetros:
Parâmetros:
string $keyResult
Chave da array a ser definida.
Model::paginationParams()
Define os parâmetros para a paginação e para o select.
Parâmetros:
Parâmetros:
string $params
Parâmetros a ser definidos.
Para ver mais sobre os parâmetros da paginação vá em: Models >> Paginação >> Parâmetros para paginação
Para ver mais sobre os parâmetros da paginação vá em: Models >> Paginação >> Parâmetros para paginação
Model::executeRead()
Executa um select.
Parâmetros:
Retorno:
Parâmetros:
Este método não possui parâmetros.
Retorno:
array
Retorna uma matriz que corresponde a todas as linhas obtidas no select.
Model::executeSelect()
Este método é apenas uma alias para Model::executeRead().
Model::executeUpdate()
Executa um update.
Parâmetros:
Retorno:
Parâmetros:
Este método não possui parâmetros.
Retorno:
number
Número de linhas afetadas pelo update.
Model::executeDelete()
Executa um delete.
Parâmetros:
Retorno:
Parâmetros:
Este método não possui parâmetros.
Retorno:
number
Número de linhas afetadas pelo delete.
Model::executeInsert()
Executa um insert.
Parâmetros:
Retorno:
Parâmetros:
Este método não possui parâmetros.
Retorno:
number
Número de linhas afetadas pelo insert.
Model::executePaginate()
Executa uma paginação.
Parâmetros:
Retorno:
Parâmetros:
Este método não possui parâmetros.
Retorno:
array
Retorna uma matriz que corresponde a todas as linhas obtidas no select.
Veja alguns exemplos de method chaining:
//Select
$this->users->fields('user, pass, created')
->conditions(array('active' => 1))
->limit(20)
->orderBy('user', 'DESC')
->executeRead();
//Insert
$this->users->data(array(
'user' => 'test'
, 'pass' => md5('test')
, 'active' => 1
)
)
->executeInsert();
//Update
$this->users->data(array(
'user' => 'test alterado'
, 'pass' => md5('test2')
, 'active' => 1
)
)
->conditions(array('idUsers' => 2))
->limit(1)
->executeUpdate();
//Delete
$this->users->conditions(array('idUsers' => 2))
->limit(1)
->executeDelete();




