O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Dica: Existem duas maneiras de trabalhar como AR utilizan<strong>do</strong> vários bancos de<br />
da<strong>do</strong>s. Se os schemas <strong>do</strong>s bancos são diferentes, você deve criar diferentes classes<br />
base AR, com diferentes implementações <strong>do</strong> méto<strong>do</strong> getDbConnection(). Caso<br />
contrário, alterar dinamicamente a variável estática CActiveRecord::db é uma ideia<br />
melhor.<br />
Definin<strong>do</strong> Classes AR<br />
Para acessar uma tabela <strong>do</strong> banco de da<strong>do</strong>s, precisamos primeiro definir uma classe AR<br />
estenden<strong>do</strong> CActiveRecord. Cada classe Active Record representa uma única tabela <strong>do</strong><br />
banco, e uma instância dessa classe representa um registro dessa tabela. O exemplo<br />
abaixo mostra o código mínimo necessário para uma classe AR que representa a tabela<br />
Post:<br />
class Post extends CActiveRecord<br />
{<br />
public static function model($className=__CLASS__)<br />
{<br />
return parent::model($className);<br />
}<br />
}<br />
Dica: Como as classes Ar geralmente são utilizadas em diversos lugares, podemos<br />
importar to<strong>do</strong> o diretório onde elas estão localizadas, em vez de fazer a importação<br />
uma a uma. Por exemplo, se to<strong>do</strong>s os arquivos de nossas classes estão em protected/<br />
models, podemos configurar a aplicação da seguinte maneira:<br />
return array(<br />
);<br />
'import'=>array(<br />
),<br />
'application.models.*',<br />
Por padrão, o nome de uma classe AR é o mesmo que o da tabela <strong>do</strong> banco de da<strong>do</strong>s.<br />
Sobrescreva o méto<strong>do</strong> tableName() caso eles sejam diferentes. O méto<strong>do</strong> model() deve<br />
ser declara<strong>do</strong> dessa maneira para to<strong>do</strong>s as classes AR (a ser explica<strong>do</strong> em breve).<br />
Os valores <strong>do</strong> registro de um tabela podem ser acessa<strong>do</strong>s pelas propriedades da<br />
instância AR correspondente. Por exemplo, o código a seguir adiciona um valor ao campo<br />
title:<br />
$post=new Post;<br />
$post->title='um post de exemplo';