У меня есть набор моделей, который выглядит примерно так
У меня также есть форма, которая позволяет вам обновить все эти разные модели в одной форме. Я немного новичок в этом способе создания форм в CakePHP, и у меня возникают проблемы с отображением сообщений об ошибках проверки в моей форме.
Моя форма выглядит примерно так:
<?php echo $this->Form->create('Member',array('type' => 'file'));?>
<fieldset>
<?php
echo $this->Form->input('first_name');
echo $this->Form->input('last_name');
?>
</fieldset>
<fieldset>
<?
echo $this->Form->input('MemberAddress.0.line_1');
echo $this->Form->input('MemberAddress.0.city');
echo $this->Form->input('MemberAddress.0.state');
echo $this->Form->input('MemberAddress.0.zip');
?>
</fieldset>
<fieldset>
<?
echo $this->Form->input('MemberAddress.1.line_1');
echo $this->Form->input('MemberAddress.1.city');
echo $this->Form->input('MemberAddress.1.state');
echo $this->Form->input('MemberAddress.1.zip');
?>
</fieldset>
<fieldset>
<?
echo $this->Form->input('Agent.0.agent',array('type'=>'text'));
echo $this->Form->input('Agent.0.agency');
echo $this->Form->input('Agent.0.email');
echo $this->Form->input('Agent.0.phone');
?>
</fieldset>
<fieldset>
<?
echo $this->Form->input('Agent.0.AgentAddress.line_1');
echo $this->Form->input('Agent.0.AgentAddress.city');
echo $this->Form->input('Agent.0.AgentAddress.state');
echo $this->Form->input('Agent.0.AgentAddress.zip');
?>
</fieldset>
<?php echo $this->Form->end('Submit');?>
Суть этой формы - это профиль пользователя (Member) с двумя слотами для адресов (MemberAddress), а также контактная информация для «агента» ... агентом моделируются Agent и AgentAddress. Я использую отношение hasMany для MemberAddresses, но разрешаю пользователям указывать только два адреса.
Я получаю сообщения проверки для модели-члена верхнего уровня, но я не получаю сообщения проверки для связанных моделей. В моем контроллере я решил не использовать saveAll (), потому что с элементами MemberAddress.0 и MemberAddress.1 я не смог бы ничего сохранить, оставив 2nd MemberAddress (MemberAddress.1) пустым. Поэтому я изменил saveAll () на сохранение, вставил логику сохранения в модель MemberAddress и возвращаю логическое значение из моего вызова MemberAddress-> update () в модели, чтобы сигнализировать об успехе или неудаче.
Как я могу всплыть сообщения об ошибках проверки для MemberAddress и моделей агентов (Agent и AgentAddress)?