20.11.2014 Views

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ambas pertencem a mesma classe. Entretanto, existe uma maneira mais simples de<br />

compara-las, que é utilizar o méto<strong>do</strong> CActiveRecord::equals().<br />

Informação: Diferente das implementações de Active Record em outros frameworks, o<br />

<strong>Yii</strong> suporta chaves primárias compostas em seu AR. Uma chave primária composta é<br />

formada por duas ou mais colunas. De forma correspondente, a chave primária é<br />

representada por um vetor no <strong>Yii</strong>. A propriedade primaryKey retorna a chave uma<br />

instância AR.<br />

Personalização<br />

A classe CActiveRecord possui alguns méto<strong>do</strong>s que podem ser sobrescritos por suas<br />

classes derivadas, para personalizar seu fluxo de funcionamento.<br />

• beforeValidate e afterValidate: esses méto<strong>do</strong>s são executa<strong>do</strong>s antes e depois que<br />

uma validação é executada<br />

• beforeSave e afterSave: esses méto<strong>do</strong>s são executa<strong>do</strong>s antes e depois que um<br />

registro é salvo.<br />

• beforeDelete e afterDelete: esses méto<strong>do</strong>s são executa<strong>do</strong>s antes e depois que uma<br />

instância AR é excluída.<br />

• afterConstruct: esse méto<strong>do</strong> é utiliza<strong>do</strong> para toda instância AR criada por meio <strong>do</strong><br />

opera<strong>do</strong>r new.<br />

• beforeFind: esse méto<strong>do</strong> é chama<strong>do</strong> antes que um objeto AR finder seja utiliza<strong>do</strong><br />

para executar uma consulta (por exemplo, find(), findAll()). Ele está disponível a<br />

partir da versão 1.0.9.<br />

• afterFind: esse méto<strong>do</strong> é chama<strong>do</strong> após cada instância AR criada como resulta<strong>do</strong> de<br />

um consulta.<br />

Utilizan<strong>do</strong> Transações com AR<br />

Todas as instâncias AR contém uma propriedade chamada dbConnection que é uma<br />

instância da classe CDbConnection. Podemos então, utilizar o recurso de transações<br />

existente no DAO <strong>do</strong> <strong>Yii</strong> para trabalhar com Active Record.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!