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.
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: