2013-07-26 5 views
0

J'essaie de joindre deux tables qui se trouvent dans deux bases de données différentes. Ces bases de données ne doivent pas nécessairement être identiques. Donc j'essaie de voir si je peux faire un modèle d'un modèle et un autre modèle de l'autre modèle et joindre les deux modèles dérivés. Ou si vous savez comment joindre deux modèles de bases de données différentes, ce serait génial aussi.Cakephp Y a-t-il un moyen de faire un modèle basé sur un autre modèle?

Répondre

1

Il est impossible pour un modèle à utiliser deux tableaux/Bases de données

Un modèle est généralement un point d'accès à la base de données, et plus précisément, à une table de la base de données. Par défaut, chaque modèle utilise la table dont le nom est pluriel, c'est-à-dire qu'un modèle 'User' utilise la table 'users'.

Source

La deuxième réponse dit qu'il est possible, mais je ne pense pas que cela fonctionnera de la façon dont vous le voulez.

However it is possible for a Model to use a different Database.

Vous pouvez ensuite créer une relation pour les lier.

+0

Oui Je voudrais associer deux tables qui se trouvent dans des bases de données différentes. Donc, quand j'utilise -> trouver je serai capable de rejoindre les tables ensemble. Même s'ils proviennent de différentes bases de données. – thedr

+0

Vous pouvez le faire comme je vous l'ai dit, créer les deux modèles et créer une relation entre eux (hasOne/hasMany/belongsTo). Ensuite, vous pouvez faire une recherche pour le modèle 1 ou le modèle 2 et vous obtiendrez les données connexes de l'autre modèle. – Spoke

0

Il pourrait être réalisé avec useDbConfig facilement (juste testé). Une autre méthode consiste à utiliser la vue DB.

+0

Oui, je voudrais avoir un modèle basé sur une table dans une base de données. Puis avoir un autre modèle basé sur une table différente dans une base de données différente. Ensuite, combinez ces deux modèles en fonction d'une requête de recherche. – thedr

Questions connexes