Ops!

PHP - Notice: session_start() [http://php.net/function.session-start]: ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13)
Page: /var/rapp/Zeanwork/Features/Components/session.php
Line: 45
Methods chaining - Zeanwork Framework PHP
zeanwork.com.br  >>  Documentação  >>  Models  >>  Methods chaining
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:
Model::conditions()
Define as condições para a instrução SQL.

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:
array | string $fields [opcional]
Campos a ser definidos.


Model::data()
Define dados para uma inclusão de registro ou alteração.

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:
string $join
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:
string $join
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:
string $join
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:
string $join
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:
string $order [opcional]
Campos a ser ordenado.

string $direction [opcional]
Direção da ordenação.
Valores aceitos: DESC e ASC;


Model::groupBy()
Define campos para serem agrupados.

Parâmetros:
array | string $group [opcional]
Campos a ser agrupados.


Model::limit()
Define um limite.

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:
string $keyResult
Chave da array a ser definida.


Model::paginationParams()
Define os parâmetros para a paginação e para o select.

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


Model::executeRead()
Executa um select.

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:
Este método não possui parâmetros.

Retorno:
number
Número de linhas afetadas pelo update.


Model::executeDelete()
Executa um delete.

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:
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:
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();