0

問題:

私はgiiを使用してデータベーステーブルモデルを生成しました。したがって、usersテーブルの構造に変更があった場合は、giiを使用し、すべてのリレーションとその他のメソッドをクラスから削除します。したがって、クラスのバックアップを作成し、クラスを再生成して、他のメソッドとリレーションを戻す必要があります。

考えられる解決策:

テーブル'users'の場合​​、クラスを次の2つのクラスに変更しました。

class Users extends UsersMapper {

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

    public function rules() {
       .....
    }

    public function relations() {
       .....
    } 
}


class UsersMapper extends CActiveRecord {

    public function getAllUsers() {
       ......
    }

    public function getBlockedUsers() {
       ......
    }   
}

質問:

上記のメソッドは私のために働いてUsersおり、コードのどこでもクラスのみを使用しています。それは有効な方法ですか、それともこのロジックに問題がありますか。他に方法はありますか?

ありがとう

4

1 に答える 1

1

Giix拡張models/Users機能は、ケース用のクラスとクラスを作成models/_base/BaseUsersします。Users クラスは BaseUsers クラスを拡張します。したがって、データベースの変更時に BaseUsers クラスのみを再生成する必要があります。また、私がかなり頻繁に使用するいくつかの追加のメソッドも付属しています。

于 2013-02-09T07:45:24.227 に答える