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.

Para mais detalhes sobre a vinculação de parâmetros, veja a <strong>do</strong>cumentação <strong>do</strong> PHP.<br />

Vinculan<strong>do</strong> Colunas<br />

Ao recuperar os resulta<strong>do</strong>s de uma consulta, você também pode vincular colunas à<br />

variáveis, de forma que elas sejam automaticamente preenchidas cada vez que um novo<br />

registro é recupera<strong>do</strong>:<br />

$sql="SELECT username, email FROM tbl_users";<br />

$dataReader=$connection->createCommand($sql)->query();<br />

// vincula a 1ª coluna (username) à variável $username<br />

$dataReader->bindColumn(1,$username);<br />

// vincula a 2ª coluna (email) à variável $email<br />

$dataReader->bindColumn(2,$email);<br />

while($dataReader->read()!==false)<br />

{<br />

// $username e $email contém o nome de<br />

// usuário e a senha <strong>do</strong> registro atual<br />

}<br />

Utilizan<strong>do</strong> Prefixos de Tabelas<br />

A partir da versão <strong>1.1</strong>.0, o <strong>Yii</strong> framework possui suporte integra<strong>do</strong> para a utilização de<br />

prefixos em nomes de tabela. Um prefixo é uma string que será anexada ao início <strong>do</strong>s<br />

nomes das tabelas <strong>do</strong> banco de da<strong>do</strong>s conecta<strong>do</strong>. Normalmente, eles são utiliza<strong>do</strong>s em<br />

ambientes de hospedagem compartilhada, onde múltiplas aplicações utilizam um único<br />

banco de da<strong>do</strong>s e é necessário diferenciar as tabelas de cada aplicação. Por exemplo,<br />

uma aplicação pode utilizar o prefixo tbl_, enquanto outra utiliza yii_.<br />

Para utiliza-los, você deverá configurar a propriedade CDbConnection::tablePrefix com o<br />

prefixo deseja<strong>do</strong>. Feito isso, em suas consultas SQL você deverá utilizar<br />

{{NomeDaTabela}}, onde NomeDaTabela é o nome da tabela sem o prefixo. Por exemplo,<br />

se um banco de da<strong>do</strong>s contém uma tabela chamada tbl_user e tbl_ é o prefixo<br />

configura<strong>do</strong>, então você pode utilizar o seguinte código para realizar consultas nessa<br />

tabela:<br />

$sql='SELECT * FROM {{user}}';<br />

$users=$connection->createCommand($sql)->queryAll();<br />

Gera<strong>do</strong>r de Consultas<br />

The <strong>Yii</strong> Query Builder provides an object-orient way of writing SQL statements. It allows<br />

developers to use class methods and properties to specify individual parts of a SQL<br />

statement. It then assembles different parts into a valid SQL statement that can be further<br />

executed by calling the DAO methods as described in Data Access Objects. The following<br />

shows a typical usage of the Query Builder to build a SELECT SQL statement:

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

Saved successfully!

Ooh no, something went wrong!