【发布时间】:2009-08-22 12:40:34
【问题描述】:
我刚刚学习 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。
【问题讨论】:
标签: cakephp