我有一种情况,要求用户填写有关建筑物的调查问卷。 Building
模型可能hasMany Questionnaire
虽然,至少现在,这是足够的Building hasOne Questionnaire
。困扰我的是,前者在后者不起作用时不起作用,我无法弄清楚原因。CakePHP空白外键
按照惯例:buildings.id
被引用在questionnaires.building_id
的外键中。在hasMany
情况下,外键只是被忽略试图插入questionnaires
记录时:
INSERT INTO `questionnaires` (`deleted`, `modified`, `created`, `id`) VALUES (1, '2011-03-17 10:32:24', '2011-03-17 10:32:24', '4d821b78-7314-4ab4-a532-226f6e891b5e')
的building_id
在所有的没有提及。但是,只要我将Questionnaire
从hasMany
阵列移动到hasOne
阵列,它就会完美运行。
任何洞察内在的魔法将是伟大的。我无法想象自己是第一个遇到这个问题的人,但我从未想到之前曾遇到过这样的问题。
谢谢。
UPDATE
所以我想我找到了答案。在我的表格中,由于我真的只定义了一个问卷(尽管我可以支持多个问卷),所以我将输入定义为Questionnaire.deleted
,对于hasOne
工作正常,但对hasMany
没有太大影响。对于后者,我必须为Questionnaire.0.deleted
创建输入。我为无数的hasMany
关系创建了表单,我一次只打算创建一个表单,我发誓我不记得以前必须这样做。这一直是一个要求吗?也许我只需要放下一段时间的困难。啧。