我找到它并写在这里,如果它对某人有用。默认情况下,Yii框架使用PDO,pdo以大写形式提供oracle列名。要强制以小写形式返回它们,必须创建自定义连接并设置PDO属性,如:
class COraConnection extends CDbConnection
{
protected function initConnection($pdo)
{
parent::initConnection($pdo);
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);
...
}
}
答案 0 :(得分:2)
我检查过,U可以直接在你的数据库上设置它,而不创建自定义CDbConnection。 说你的main.php中的oracle连接名是
'dbora' => array(
'class' => 'CDbConnection',
'connectionString' => 'oci:dbname=192.168.0.1:1521/shop;charset=CL8MSWIN1251',
'username' => 'dbuser',
'password' => 'dbpwd',
),
只需将它写在你需要的地方:
$db = Yii::app()->dbora;
$db->setAttribute(PDO::ATTR_CASE,PDO::CASE_LOWER);