CakePHP 2x到3x,HABTM with keepExisting

时间:2016-09-06 21:23:32

标签: has-and-belongs-to-many cakephp-3.x

我有两个模型与Cake 2.x中的Has And Belongs To Many Association相关联。我正在尝试将我的应用程序移植到Cake 3.3。一般来说,我在复制Cake 2.x关联中的“keepExisting”功能时遇到了问题。现在,我正在尝试使用“通过”功能,但我不确定我是在吠叫正确的树。

我有以下表格:

Navigate

当我使用关联事件保存初始比赛时,保存很好,并且在联接表中创建关联记录。当我编辑比赛记录并更改事件列表时,会添加任何选定的事件......但不会删除未选择的旧事件。第二个问题是为已有的关系创建了一个新的连接记录。我想保留已有的记录,而不是创建新的记录。稍后在应用程序中,我将在其他关系中使用联接记录ID ...并且我不希望每次更新覆盖的比赛记录时都重新生成id。

我希望我在描述我想要做的事情时有意义。但是在最简单的形式中,我试图复制通过'unique'=>找到的功能。 Cake 2x中包含'keepExisting'选项,只是无法破解如何在Cake 3.3中完成此操作的代码?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

好的,就这样吧。首先,我认为我是出于挫折而写出了上述问题,所以如果不清楚我会道歉。我继续处理我的应用程序的其他部分,这个问题困在我的脑后。好吧,我想通了......所以这里是我的回答:

我是个白痴。

今天,我花了一些时间使用沙盒应用程序,并且基本上可以使用沙盒表上的功能,但无法在应用程序表上使用它。最后,我将其缩小到这是一个数据库问题。是的...我以某种方式在我的连接表VARCHAR而不是INT中创建了foreign_key字段。是的......那会的。

嗯,我想我的观点是永远记录这个...检查你的数据库字段和表格设置是否正确!!!