如何获得自我参考的多对多关系来制作Cake Bake脚手架?

时间:2019-05-02 15:28:25

标签: cakephp-3.0

我使用以下SQL创建表:

CREATE TABLE `tests` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `tests_tests` (
  `test_id` int(11) unsigned NOT NULL,
  `parent_id` int(11) unsigned NOT NULL,
  PRIMARY KEY (`test_id`,`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后我运行bake命令:

bin/cake bake all tests

这将在URL /tests上创建CRUD支架。如果单击Add Test,将得到一个表格,可以在其中添加测试记录。因此,我添加了一些,这很好,只要我将自引用多选保留为空白即可。如果使用该选择,则会出现以下错误:

Cannot insert row, some of the primary key values are missing. Got (1, ), expecting (test_id, parent_id)

为什么会失败?这是Bug还是SQL CREATE语法问题,还是配置问题?

0 个答案:

没有答案