В моей Extbase 6.2 расширения (построен с расширением строитель) Я:Свойства, которые не были перечислены в псевдоожиженном виде перезаписаны после отправить
- An
appointment
, который имеетlawyer
, который имеет- специализации (в данном примере -
expertises
).
- специализации (в данном примере -
В моей форме я просто хочу, чтобы редактировать expertises
, но каждый раз, когда я ударил представить мои lawyer
свойства «s опорожняются за expertises
исключением - те работы, даже их значения являются правильными.
Когда я отлаживаю объект в жидкости, адвокат там и все правильно.
Это единственное место в моей жидкой форме, где я написал слово «адвокат».
<f:for each="{appointment.lawyer.expertises}" as="expertise" iteration="i">
<f:form.checkbox property="lawyer.expertises.{i.index}.checked" value="1"/>
<f:for each="{expertise.subExpertises}" as="subExpertise" iteration="j">
<f:form.checkbox property="lawyer.expertises.{i.index}.subExpertises.{j.index}.checked" value="1"/>
</f:for>
</f:for>
Обычно мои свойства appointment
не перезаписываются только потому, что я не пишу формы ввода-поле для них.
Итак, почему свойства appointment.lawyer
перезаписаны и как я могу предотвратить это?
К сожалению, я понятия не имею, что TYPO3 делает для того, чтобы построить объект из моей формы так что любые намеки на то, что было бы оценено тоже :)
Удивительно, это работает, но как я могу проверить вложенные свойства? 'foreach ($ destination-> getLawyer() -> getExpertises() как $ expert) { if ($ expert-> getUid()! = $ Destination -> _ getCleanProperty ('lawyer.expertises') -> getUid()) { die ('error'); } 'дает мне ошибку:' Вызов функции-члена getUid() для не-объекта' –
Возможно, у вас есть родительское поле в модели 'экспертизы'. Затем вы можете проверить, изменился ли родитель: 'if ($ expert -> _ getCleanProperty ('parentField') -> getUid()! = $ Lawyer-> getUid()) {die ('error'); } ' PS: вы всегда должны сравнивать идентификаторы, а не весь объект, потому что тогда все свойства и вложенные объекты рекурсивно сравниваются, и это чертовски медленно. –
нет, к сожалению, у меня нет родительского свойства в моей модели, потому что это было бы перетаскиванием, чтобы установить родительский объект в дочернем объекте И потомке в родительском объекте каждый раз, когда я добавляю запись вручную в бэкэнд (я на самом деле Не пробовал - может ли он установить другое свойство автоматически для меня? Я сомневаюсь, что я построил его с помощью расширителя. Чтобы сохранить древовидную структуру, у меня есть только дочерние свойства в моих родительских моделях. Если вы знаете хороший способ справиться с этим, я был бы рад услышать это. –