2013-02-09 1 views
0

Problème:Comment générer des modèles de tables de base de données avec Gii dans Yii?

I utilisé gii pour générer des modèles de table de base de données. Donc, si j'ai un changement dans la structure de la table des utilisateurs, j'ai utilisé gii et toutes mes relations et autres méthodes sont supprimées de la classe. J'ai donc besoin de faire une sauvegarde de classe et de régénérer la classe et de ramener d'autres méthodes et relations.

Solution possible:

je changé ma classe en deux classes comme celui-ci pour une table 'utilisateurs':

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() { 
     ...... 
    } 
} 

Question:

méthode ci-dessus travaille pour moi et j'utilise seulement Users classe partout dans mon code. Est-ce une méthode valide ou il y a un problème avec cette logique. Y a-t-il une autre méthode?

Merci

Répondre

1

L'extension Giix va créer une classe models/Users et pour votre cas classe models/_base/BaseUsers. La classe Users étend la classe BaseUsers. Ainsi, seule la classe BaseUsers doit être régénérée lors de la modification de la base de données. Il est également livré avec quelques méthodes supplémentaires que j'utilise beaucoup.

Questions connexes