У меня следующая ситуация:
Я разрабатываю адресное приложение для хранения информации о наших клиентах.
У меня есть следующая db-структура:
Clients hasMany Addresses
Addresses belongsTo Client
Addresses hasMany AddressEmails and AddressPhones
Если кто-то сейчас добавляет нового клиента, его основной адрес с 1 электронным письмом и 1 телефонным номером должен быть сохранен.
Это отчасти работает очень хорошо, если я делаю это в представлении добавления клиента сследующий код и вызовите метод saveAll в клиентском контроллере:
<?php
echo $this->Form->input('client_group_id');
echo $this->Form->input('company');
echo $this->Form->input('firstname');
echo $this->Form->input('lastname');
echo $this->Form->input('www');
echo $this->Form->input('Address.0.is_standard', array('type' => 'hidden', 'value' => '1'));
echo $this->Form->input('Address.0.street');
echo $this->Form->input('Address.0.zip');
echo $this->Form->input('Address.0.city');
?>
Но я понятия не имею, как сохранить электронную почту и номер телефона в этом представлении.Трид думает как AddressEmail.0.email, но это не сработало.
Понял:
С опубликованным решением Ника все работает нормально, я сейчас звоню $ this->Client-> Address-> saveAll ($ this-> data), но пришлось настроить мой add-view следующим образом:
<?php
echo $this->Form->input('client_group_id');
echo $this->Form->input('company');
echo $this->Form->input('firstname');
echo $this->Form->input('lastname');
echo $this->Form->input('www');
echo $this->Form->input('Address.is_standard', array('type' => 'hidden', 'value' => '1'));
echo $this->Form->input('Address.street');
echo $this->Form->input('Address.zip');
echo $this->Form->input('Address.city');
echo $this->Form->input('AddressEmail.0.type', array('type' => 'hidden', 'value' => 'Standard'));
echo $this->Form->input('AddressEmail.0.email');
echo $this->Form->input('AddressPhone.0.type', array('type' => 'hidden', 'value' => 'Standard'));
echo $this->Form->input('AddressPhone.0.number');
?>
Поскольку я сейчас вызываю метод saveAll () - из Address-Модели нули больше не нужны!