我有这个功能:
function getCompensation($id)
{
$dbh = app()->db;
try {
$amount = $dbh->createCommand()
->select('data')
->from('compensation_table')
->where('id = :id', array(':id'=>$id))
->queryRow();
}catch (Exception e)
$e->getMessage();
{
return $amount;
}
然而,似乎app() - > db;不会表现得如此,因为我没有得到任何数据。我在另一个项目中使用相同的方法,但我不确定它是如何配置的。我想连接到同一个数据库。我们可以在函数内配置它吗?
答案 0 :(得分:1)
您必须指定$ amount = Yii :: app() - > db-> createCommand()
function getCompensation($id)
{
try {
$amount = Yii::app()->db->createCommand()
->select('data')
->from('compensation_table')
->where('id = :id', array(':id' =>$id))
->queryRow();
}catch (Exception e)
$e->getMessage();
{
return $amount;
}
如果你有一个'数据'列
您可以使用例如:
访问该列 echo $amount->data;
这是
中组件中db部分的示例proteteced/config/main.php
.....
return array(
....
// application components
'components'=>array(
......
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=my_databasename',
'emulatePrepare' => true,
'username' => 'my_username',
'password' => 'my_pwd',
'charset' => 'utf8',
),