2

自動生成アプリを使用してyii1.1.11を使用し、ユーザーテーブルを作成し、giiを使用してcrudを生成し、ローカルホストで開発を開始しました。ウェブホスティングに移行するときは、テーブルのプレフィックスを使用する必要があるため、「yii_users」になり、次のように構成を編集します。

'db'=>array(
  'connectionString' => 'xxxxx',
  'username' => 'xxxxx',
  'password' => 'xxxxx',
  'tablePrefix' => 'yii_',
),

しかし、ログインできなくなり、エラーが発生します'アクティブレコードクラス"Users"のテーブル"users"がデータベースに見つかりません。'したがって、tablePrefixは機能しないと思います。これを修正する方法は?

4

1 に答える 1

7

これには、すべてのアクティブレコードも変更する必要があります。ガイドを確認してください

情報:テーブルプレフィックス機能を使用するには、ARクラスのtableName()メソッドをオーバーライドできます.........つまり、完全修飾テーブル名を返す代わりに、プレフィックスなしのテーブル名を返します。二重の中括弧で囲みます

したがって、これを行う必要があります。

public function tableName() {
    return '{{user}}';
}

また、tablePrefixドキュメントから:

このプロパティを設定すると、' {{tableName}} '...のようなトークンは'prefixTableName'に置き換えられます。ここで、'prefix'はこのプロパティ値を参照します。

(強調鉱山)

于 2012-10-30T11:51:50.887 に答える