2009-08-22 88 views
0

我刚刚学习CakePHP,我简单的应用程序链接两个表hasAndBelongsToMany关系。我期待脚手架能让我把帖子与标签联系起来,但事实并非如此。CakePHP - 基本hasAndBelongsToMany问题

下面是代码:

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`) 
); 

内容:

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'); 
} 
控制器文件夹项

内容

posts_controller.php

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

tags_controller.php

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

在应用程序中,我可以创建/编辑/删除帖子或标签,但有是没有办法链接他们。

编辑:在我的脚手架视图没有多个选择将标签关联到帖子等我使用v 1.2.4.8284。

回答

0

雅,有一些问题1.2.4版本。我也面临类似的问题。

0

在你的脚手架视图中应该有一个多重选择让你将标签与帖子和帖子关联到标签。然后,当您查看帖子时,您会看到相关标签,查看标签会显示相关视图。我使用了您提供的代码并能够产生这些结果。你没有看到同样的事情吗?

0

这是在1.2.4版中的错误 - 它已被固定在版本1.2.5

0

是的,我可以证实我在1.2.4.8284中有同样的问题 - 即所有的HABTM关系从脚手架形式中都没有。

我恢复到1.2.3.8166,它恢复正常,因为它应该是。