В моем проекте cakephp функция сохранения не работает? - PullRequest
0 голосов
/ 02 мая 2010

Мое действие контроллера:

function add() {  
 if (!empty($this->data)) {
  $this->Customer->create();
  if ($this->Customer->save($this->data)) {
    $this->Session->setFlash('A new Customer has been added');
    $this->redirect(array('action'=>'index'));
  } 
  else {    
   $this->Session->setFlash('The customer cannot be added this time. Try again later.');
   $this->redirect(array('action'=>'index'));
  }
 }
}

Моя модель:

класс Customer расширяет AppModel {

var $name = 'Customer';
var $validate = array(
   'name' => array(
    'length'=> array(
     'rule' => array('between', 4,50),
         'message' => 'Name must be minimum 4 and maximum 50 characters long.'    
         ),                 
    'checkUnique'=> array(
       'rule' => 'isUnique',
       'message' => 'This Name is already registered'    
    )
  ));

и это мой взгляд:

<div class="customers form">
<?php echo $form->create('Customer',array('action'=>'add'));?>
 <fieldset>
   <legend><?php __('Add Customer');?></legend>
 <?php
  echo $form->input('Customer.name');
  echo $form->input('Customer.balance',array('type'=>'hidden','default'=>0)); 
 ?>
 </fieldset>
<?php echo $form->end('Submit');?>
</div>

каждый раз, когда я отправляю форму, она брызгает: Клиент не может быть добавлен в этот раз. Попробуйте позже.

1 Ответ

1 голос
/ 02 мая 2010

Для скрытого поля ввода используйте «значение» вместо «по умолчанию» в вашем представлении:

$form->input('Customer.balance', array('type' => 'hidden', 'value' => 0));
...