Join cakephp烘焙2个带有联接表的表

Join cakephp烘焙2个带有联接表的表,join,cakephp-1.3,Join,Cakephp 1.3,我有两张桌子。第一个表是名为类别的类别表,第二个表是名为文档的文档表。我正在尝试创建一个联接表,允许将多个类别应用于多个文档,并使用CakePHP(我是其中的noob)在几秒钟内将其全部烘焙 我在数据库中使用了mysql,如下所示: CREATE TABLE `categories` ( `id` int(10) unsigned NOT NULL auto_increment, `cat_name` varchar(100) default NULL, PRIMARY KEY (

我有两张桌子。第一个表是名为
类别
的类别表,第二个表是名为
文档
的文档表。我正在尝试创建一个联接表,允许将多个类别应用于多个文档,并使用CakePHP(我是其中的noob)在几秒钟内将其全部烘焙

我在数据库中使用了mysql,如下所示:

CREATE TABLE `categories` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `cat_name` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `documents` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `title` varchar(50) default NULL,
  `size` varchar(10) default NULL,
  `file` varchar(50) default NULL,
  `date` date default NULL,
  `created` datetime default NULL,
  `modified` datetime default NULL,
  `status` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `categories_documents` (
  `category_id` int(10) unsigned NOT NULL default '0',
  `document_id` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`category_id`,`document_id`)
) TYPE=MyISAM DEFAULT CHARSET=utf8;

…对于桌子,我从文件中读到的印象是,它会神奇地自动烘焙。然而,我得到了很多未知的列错误。我想知道我是否把命名惯例搞砸了,是否有人能在我花太长时间挖掘太深之前纠正我的错误

类别\u文档需要一个“id”字段,该字段必须是主键。这应该可以解决问题。有关更多信息,请阅读文档。

如果我理解正确,我认为此链接可能比我所能做的更好地向您解释:


我的经验是手动编写所有模型代码,从未使用过bake。

我的原始源代码有缺陷,两个答案所指的文档都表明,在CakePHP中,将链接文件中的两个id设置为主要id是一种不好的做法,添加此处描述的id修复了所有问题。蛋糕烘焙和魔法都发生了。