У меня есть ситуация, когда пользователя просят заполнить анкету о здании.Модель Building
может hasMany Questionnaire
, хотя, по крайней мере, на данный момент достаточно, чтобы Building hasOne Questionnaire
.Что меня беспокоит, так это то, что первый не работает, а второй работает, и я не могу понять, почему.
Ключи следуют соглашению: на 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
, все это прекрасно работает.
Любое понимание внутренней магии было бы замечательно.Я не могу себе представить, что я первый, кто столкнулся с этим, но я никогда не помню, сталкивался с этим раньше.
Спасибо.
ОБНОВЛЕНИЕ
Так что я думаю, что нашел ответ.В моей форме, поскольку я действительно определяю один вопросник (хотя я мог поддерживать несколько), я определял свой ввод как Questionnaire.deleted
, который отлично работает для hasOne
, но не так сильно для hasMany
.Для последнего я должен создать вход для Questionnaire.0.deleted
.Я создал формы для бесчисленных hasMany
отношений, где я должен был создать только одно за раз, и клянусь, я не могу вспомнить, чтобы когда-либо делал это раньше.Это всегда было требованием?Может быть, мне просто нужно на какое-то время сложить тяжелые вещи.Sheesh.