Hello,

Pouvez-vous m'éclairez sur un sujet, j'ai dans mon site un forum et les tables de celui-ci sont préfixées par forum_ (forum_categories, forum_posts etc...) comment dire à cakePHP que ces tables là seulement sont préfixées, doit-on le déclarer dans les modèles concernés ?

Merci !

2 réponses


Lartak
Réponse acceptée

Bonjour.
Oui, il te faut mettre ceci :

public $tablePrefix = 'forum_';

Voir ici : Attributs de Model : tablePrefix
Si tu as fait ton forum sous forme de plugin, tu dois pouvoir le déclarer une seule fois dans l'AppModel de ton Plugin (modèle de référence de ton plugin auquel tous les modèles concernés par le pré-fixage peuvent être lié en l'étendant), exemple :

<?php App::uses('ForumAppModel', 'Forum.Model');
class Category extends ForumAppModel{
/* code */
}

et le modèle de référence du plugin

<?php App::uses('AppModel', 'Model');
class ForumAppModel extends AppModel{
    public $tablePrefix = 'forum_';
}
cuisse
Auteur

J'aurais une question complémentaire : comment faire si je veux créer une messagerie, j'aurais de nouveaux les contrôleurs topics et posts, et j'aurais également besoin d'une table qui liste les catégories d'un autre module, doit-on modifier le nom de ces contrôleurs et modèles en ajoutant le préfixe du module comme ForumCategories ?

Merci !