2013-02-09 3 views
0

Проблема:Как создать модели таблицы базы данных с Gii в Yii?

Я использовал gii для создания моделей таблицы базы данных. Поэтому, если у меня есть какие-либо изменения в структуре таблиц пользователей, я использовал gii, и все мои отношения и другие методы удаляются из класса. Поэтому мне нужно сделать резервную копию класса и восстановить класс и вернуть другие методы и отношения.

Возможное решение:

Я изменил свой класс на два класса, как это для таблицы 'пользователи':

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 везде в моем коде. Является ли это допустимым методом или существует какая-либо проблема с этой логикой. Есть ли другой метод.

Благодаря

ответ

1

Расширение Giix создаст models/Users класс и models/_base/BaseUsers класса для вашего случая. Класс Users расширяет класс BaseUsers. Таким образом, для изменения базы данных необходимо восстановить только класс BaseUsers. Он также поставляется с несколькими дополнительными методами, которые я использую довольно много.