2

正常に動作する yii で mysql db のすべてのモデルを作成しました。ここで、mssql 2000 である余分なデータベースを追加したいと思います。数時間後に、php と pdo アダプターをセットアップしました。現在、mssql で単一のテーブルのモデルを作成しようとしています。それは私をさせません。次のエラーが表示されます。

The table "[xxx Geo Limited\$Fixed Asset]" for active record class "FixedAsset" cannot be found in the database.



    private $_model;
2301 
2302     /**
2303      * Constructor.
2304      * @param CActiveRecord $model the model instance
2305      */
2306     public function __construct($model)
2307     {
2308         $this->_model=$model;
2309 
2310         $tableName=$model->tableName();
2311         if(($table=$model->getDbConnection()->getSchema()->getTable($tableName))===null)
2312             throw new CDbException(Yii::t('yii','The table "{table}" for active record class "{class}" cannot be found in the database.',
2313                 array('{class}'=>get_class($model),'{table}'=>$tableName)));
2314         if($table->primaryKey===null)
2315         {
2316             $table->primaryKey=$model->primaryKey();
2317             if(is_string($table->primaryKey) && isset($table->columns[$table->primaryKey]))
2318                 $table->columns[$table->primaryKey]->isPrimaryKey=true;
2319             else if(is_array($table->primaryKey))
2320             {
2321                 foreach($table->primaryKey as $name)
2322                 {
2323                     if(isset($table->columns[$name]))
2324                         $table->columns[$name]->isPrimaryKey=true;

モデルが呼び出されFixedAsset、mssql のテーブルが呼び出されます[xxx Geo Limited\$Fixed Asset]

4

1 に答える 1

2

問題を解決し、テーブルを指定するときに二重引用符を使用します

public function tableName()
    {
        //exit("help");
        return "[xxxGeo Limited\$Fixed Asset]";
    }
于 2012-09-17T16:16:54.710 に答える