поэтому у меня есть Тариф, который имеет много цены (каждая для другой валюты - на самом деле не имеет значения)
представление (удалены несущественные части)
<?php echo $this->Form->create('Tarif');
echo $this->Form->input("Price.0.price");
echo $this->Form->input("Price.0.currency");
echo $this->Form->input("Price.0.sms_format");
echo $this->Form->input("Price.0.sms_number");
echo $html->link(__('Add currency', true), '#', array('onclick'=>'return false;', 'class' => 'tarifs-add-currency'));
echo $this->Form->input('Tarif.valid_since', array('timeFormat' => '24'));
echo $this->Form->input('Tarif.valid_until', array('timeFormat' => '24'));
echo $this->Form->input('Tarif.storage_time', array('label' => __('Storage time (days)', true)));
echo $this->Form->end(__('Submit', true));?>
Функция контроллера длясохранить это выглядит так
function admin_add() {
if (!empty($this->data)) {
$this->Tarif->create();
if ($this->Tarif->saveAll($this->data)) {
$this->Session->setFlash(__('The tarif has been saved', true));
$this->redirect(array('action' => 'admin_index'));
} else {
$this->Session->setFlash(__('The tarif could not be saved. Please, try again.', true));
}
}
}
Ссылка «Добавить валюту» предназначена для добавления новых входных данных для новых цен, но это не проблема, поскольку она не работает даже без добавления валют.Когда я пытаюсь сохранить его, он говорит: «Тариф не может быть сохранен.Пожалуйста, попробуйте еще раз.'.Разве вы не знаете, что я должен изменить, чтобы это работало?
Спасибо, EL