2009-08-22 4 views
0

Je suis juste en train d'apprendre CakePHP, mon application simple relie deux tables avec une relation hasAndBelongsToMany. Je m'attendais à ce que l'échafaudage me permettrait d'associer des messages avec des balises, mais ce n'est pas le cas.CakePHP - basic hasAndBelongsToMany problème

Voici le code:

SQL

CREATE TABLE `posts` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`content` TEXT, 
PRIMARY KEY ( `id`) 
); 

CREATE TABLE `tags` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`name` VARCHAR(100) DEFAULT NULL , 
PRIMARY KEY ( `id`) 
); 

CREATE TABLE `posts_tags` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`post_id` INT(11) UNSIGNED DEFAULT NULL , 
`tag_id` INT(11) UNSIGNED DEFAULT NULL , 
PRIMARY KEY ( `id`) 
); 

contenu du dossier Modèles:

post.php

class Post extends AppModel { 
var $name = 'Post'; 
var $hasAndBelongsToMany = array('Tag'); 
} 

tag.php

class Tag extends AppModel { 
var $name = 'Tag'; 
var $hasAndBelongsToMany = array('Post'); 
} 

contenu des contrôleurs dossier

posts_controller.php

class PostsController extends AppController { 
var $name = 'Posts'; 
var $scaffold; 
} 

tags_controller.php

class TagsController extends AppController { 
var $name = 'Tags'; 
var $scaffold; 
} 

Dans l'application, je peux créer/modifier/supprimer un message ou un tag, mais il est pas moyen de les lier.

edit: Dans mes vues échafaudées, il n'y a pas de sélection multiple pour associer des balises aux messages, etc. J'utilise v 1.2.4.8284.

Répondre

0

ya, il y a un problème avec la version 1.2.4. J'ai fait face à un problème similaire aussi.

0

Dans vos vues d'échafaudage, vous devez sélectionner plusieurs éléments pour associer des points aux messages et des messages aux points. Ensuite, lorsque vous affichez le post, vous voyez des balises associées et l'affichage de la balise affiche des vues connexes. J'ai utilisé le code que vous avez fourni et j'ai pu produire ces résultats. N'êtes-vous pas en train de voir la même chose?

0

Ce fut un bug dans la version 1.2.4 - il a été corrigé dans la version 1.2.5

0

Oui, je peux confirmer que j'ai eu le même problème au 1.2.4.8284 - c'est-à-dire que toutes les relations HABTM manquaient dans les formulaires échafaudés.

Je suis revenu au 1.2.3.8166 et tout redevient normal, comme il se doit.