ОТЛИЧНЫЙ ВОПРОС. Вы столкнулись с неискренней особенностью ассоциаций Cake:
Учитывая, что вы определили отношение как hasOne ?Гадание на трассировке, но Cake, вероятно, даже правильно предположил ваше предпочтение функциональности списка.Вы получили свой автоматический список ...
... из One.
$ hasOne довольно эксклюзивен.Он «использует» эти «имеет» отношения (это делает отношения де-факто Singleton - таким образом, у пользователей только 1 профиль <-> в профиле только 1 пользователь).Учтите: база данных может иметь много конфигураций, но Dbo будет иметь только одно Соединение за раз, а Соединение будет иметь только одно Dbo.Таким образом -> hasOne предназначен для того, чтобы жениться на двух Моделях, пока они не умрут (), когда они разойдутся.
- Таким образом, он не так часто используется, как hasMany и принадлежит To.ваша цель, вы, вероятно, захотите перейти на другую ассоциацию.
Добавление дополнительного $ this-> Item-> find на самом деле не решает, что не так (и я бы не советовал, если толькоВы в основном покончили с обеими моделями / контроллерами, или вы активно хотите, чтобы все стало странно быстрым.)
Кроме того, измените способ вызова методов Form Helper - если вы возвращаете выборку типа «список» изнаходка, Cake автоматически создаст список опций.То, что происходит на самом деле, заключается в том, что вы крадетесь вокруг своей Модели с очень небольшим запасом функциональности View.Вот почему указание типа ввода «сломать магию», как правило, не рекомендуется (что, если хотите, вы вполне можете. Просто поймите, что на самом деле происходит, или: видите, странно, быстро.)
Но вы можетехотите переосмыслить то, как вы связали свои модели - было бы неправильно сказать, что каждый элемент принадлежит CoverImage (так же, как каждый CoverImage принадлежит элементу) - потому что у вас есть форма, явно разрешающая CoverImage выбиратьЭлемент, любой элемент, который будет отображаться с?Вы, вероятно, получите лучшие результаты.
HTH.:)