Bonjour a tous,

Voila j aimerai sur un systeme cakephp pouvoir me connecter a la base de donnee "home" et a la base de donnee "forum"

J ai vu dans le database.php que on peut utilise plusieur bdd differente, mais comment changer?

Y a t il moyen de mettre des conditionsdans le database? genre si une tel variable est X alors le base de default sera X, Y alors le base de default sera Y,

Je sais pas si je me suis bien fait comprendre :s

8 réponses


public $useDbConfig = 'default'; dans un model . tu change default par un string que tu definie dans databaseconfig

pikadjou
Auteur

Okok merci bcp, est il possible de faire: public $useDbConfig = array('default', 'forum');
pour etre sur les 2 bases de donnee en meme temps et alors comment gere les 2? suffit il d apelle les tables (comme elles ont des noms differents?)

J aimerai aussi pouvoir le definir dynamiquement en passant un paramettre.

exemple: si l utilisateur se connecter sur www.forum.exemple.com -> db = forum
si l utilisateur se connecter sur www.homr.exemple.com-> db = home

je comprends pas pourquoi tu les separes.
pour ce que tu veux, dans le controlleur tu dois pouvoir redefinir une bdd

pikadjou
Auteur

Comment je peux justement redefinir la bdd? avec public $useDbConfig ?

En fait c est un peu plus compliquer que ca mais j'aimerai faire des mondes differents (pour une sorte de jeu) mais alors suivant l'url je dois me connecter a la base de donnee du jeu 1, 2, 3, ou 4.

je vois, je te conseille de faire plusieurs dossier app avec plusieurs nom de domaine, enfin je pense.
Qu'es que les autres en pense ?

pikadjou
Auteur

Que veux tu dire par plusieurs dossier app? et comment je peux faire cale?

En gros, tu fais une copie de tOn dossier app, puis dans ton serveur apache tu fais une redirection pour chaque dossier, ainsi chaque dossier à sa configuration personnalisé et son URL

pikadjou
Auteur

okok donc il est plus facile de faire par exemple 5 dossier avec pour chaque dossier ca config?

Moi j ai aussi regarder de mon cote et j avais pu lire que il y aurait moyen grace a un controller, envoier une variable a l'AppModel. Alors je me suis dis dans un controller je fais un explode url et je recuper le nom de la bdd, que j envoie dans mon appmodel: public $useDbConfig = $mavariable; se serais un peu se casser la tete pour rien?

En tout cas un enorme merci pour le temps que tu prends pour m aider.