Skip to content

Behavior AjusteData

jrbasso edited this page Aug 18, 2010 · 1 revision

Behavior para ajustar as horas no formato dd/mm/yyyy para o formato SQL (yyyy-mm-dd).

Instalação

Adicione o behavior ‘CakePtbr.AjusteData’ no seu model através da variável actsAs, porém neste behavior tem uma diferença em relação aos demais.

É possível adicionar o behavior de três maneiras:

  1. Não informando os campos: Neste caso, o behavior buscará automaticamente todos os campos do tipo date no model, exceto os campos update, create e modified;
  2. Informando como string: Será considerado apenas o campo da string;
  3. Informando um array: Cada item do array será considerado um campo para alteração do formato.

Exemplo:

class Noticia extends AppModel {
	var $name = 'Noticia';
	var $actsAs = array('CakePtbr.AjusteData'); // Primeiro caso
	var $actsAs = array('CakePtbr.AjusteData' => 'campo_data'); // Segundo caso
	var $actsAs = array('CakePtbr.AjusteData' => array('publicado', 'informado')); // Terceiro caso
}

Utilização

A utilização é automática.

Funcionamento

Na sua view, o usuário vai preencher um campo com o formato dd/mm/yyyy, porém este campo deve ser alterado para ser cadastrado no banco de dados. Para evitar que isto seja no controller ou num beforeSave de vários models, basta incluir este behavior.

Antes de cada save o behavior ajusta as datas dos campos informados (ou encontrados automaticamente) e então envia para o banco de dados com os valores corretos.

Ao resgatar o registro do banco, este behavior NÃO transforma para o formato brasileiro, pois o model manipula dados e não formatações.
Caso você vá exibir a data, use o helper de formatação deste plugin.