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.