2014-06-29 1 views
0

Je suis en train de faire cuire une base de données, l'une des tables est une table de messagerie, créée avec la requête suivante:relations multiples à un modèle unique pour cuire au four à gâteau

CREATE TABLE `rally`.`privatemessages` (
`id` INT NOT NULL AUTO_INCREMENT, 
`user_id_from` INT NULL, 
`user_id_to` INT NULL, 
`content` TEXT NULL, 
`timestamp` INT NULL, 
PRIMARY KEY (`id`)); 

Mais lorsque je tente de faire cuire la ensemble du projet, cuire shell me dit qu'il ne peut pas trouver la table user_froms. Comment puis-je définir les champs de la table pour que la cuisson fonctionne?

Répondre

0

Il y a deux étapes, la première n'est pas absolument nécessaire, mais elle vous aidera à progresser.

  1. Modifiez votre base de données pour suivre les Model conventions de Cake. Donc, le nom de la table doit b private_messages et les champs pour les clés étrangères from_user_id, to_user_id. Bake automatise presque toutes les situations d'utilisation les plus courantes, mais pas tout. C'est en tant que développeur que vous devez intervenir et l'aider à comprendre. Si après avoir fait les changements ci-dessus, on vous demande "PrivateMessage BelongsTo FromUsers?" vous dites non (car vous n'avez pas de modèle) et le dirigez manuellement pour créer un appartenance à Users avec le nom de champ from_user_id étant la clé étrangère).

Enfin, vous pouvez toujours sauter cuire au four et faire les (associations) [http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html] vous en créant/éditant le fichier du modèle respectif.

Questions connexes