Métodos e Propriedades Adicionais (Additional Methods and Properties)
Enquanto as funções do modelo (model) do CakePHP’s levam você onde você precisa, não esqueça que as classes modelos são apenas: classes que permitem a você escrever seus próprios métodos ou definir suas próprias propriedades.
Qualquer operação que manipula o salvamento ou busca dos dados são melhores definidas na sua classe modelo (model). Costumamos nos referenciar a este conceito como modelagem gorda.
class Example extends AppModel {
public function getRecent() {
$conditions = array(
'created BETWEEN (curdate() - interval 7 day)' .
' and (curdate() - interval 0 day))'
);
return $this->find('all', compact('conditions'));
}
}
O método getRecent()
agora pode ser usado no seu respectivo controller.
$recent = $this->Example->getRecent();
Model::associations()
Buscar associações:
$result = $this->Example->associations();
// $result equals array('belongsTo', 'hasOne', 'hasMany', 'hasAndBelongsToMany')
Model::buildQuery(string $type = 'first', array $query = array())
Builds the query array that is used by the data source to generate the query to
fetch the data.
Model::deconstruct(string $field, mixed $data)
Desconstrói um tipo complexo de data (array ou objeto) em um campo de valor unico.
Model::escapeField(string $field = null, string $alias = null)
Escapes the field name and prepends the model name. Escaping is done according
to the current database driver’s rules.
Model::exists($id)
Retorna true se é encontrado um registro com o ID informado.
Se não é informado um ID então é chamado Model::getID()
para obter o ID atual para verificação, e então executar Model::find('count')
na fonte de dados configurada no momento para verificar a existência do registro no armazenamento persistente
Nota
Parameter $id was added in 2.1. Prior to that it does not take any parameter.
$this->Example->id = 9;
if ($this->Example->exists()) {
// ...
}
$exists = $this->Foo->exists(2);
Model::getAffectedRows()
Retorna o número de linhas afetada pela última query.
Model::getAssociated(string $type = null)
Busca todos os modelos (models) ao qual este modelo (model) é associado.
Model::getColumnType(string $column)
Retorna o tipo de uma coluna no modelo (model).
Model::getColumnTypes()
Retorna um array de nome de campos e tipos de colunas associados.
Model::getID(integer $list = 0)
Retorna o ID do registro atual.
Model::getInsertID()
Retorna o ID do último registro que este modelo (model) inseriu.
Model::getLastInsertID()
Alias to getInsertID()
.