Я хочу, чтобы вставить запись в таблицу. Для этого у меня есть модель, просмотр и контроллер. Все в моем коде работает отлично, но мой код модели для проверки не показывает какое-либо подтверждение. Что я должен делать? Я даю ниже кода:
Мой код контроллера:
public function send_money() { $this->layout='agent'; $this->Agent->create(); $this->Agent->set($this->data); if(empty($this->data) == false) { //$this->Agent->saveAll($this->data['Agent'], array('validate' => 'only')); //This code Id New $this->Agent->saveAll($this->data['Agent']); $this->Session->setFlash('Information Added Successfully.'); $this->redirect('send_money'); } else { $this->set('errors', $this->Agent->invalidFields()); } } And My Model Code is : App::uses('AppModel', 'Model'); /** * Admin Login Model * */ class Agent extends AppModel { public $name='Agent'; public $usetables='agents'; public $validate = array( 'contact' =>array( 'rule' => 'notEmpty', // or: array('ruleName', 'param1', 'param2' ...) 'allowEmpty' => false, 'message' => 'Please Enter Contact No.' ), 'name' =>array( 'rule' => 'notEmpty', // or: array('ruleName', 'param1', 'param2' ...) 'allowEmpty' => false, 'message' => 'Please Enter Name.' ), 'email_add' =>array( 'rule' => 'email', // or: array('ruleName', 'param1', 'param2' ...) 'allowEmpty' => false, 'message' => 'Please Enter Valid Email.' ), ); }
Используйте это в своем контроллере:
if($this->Agent->validates($this->data)) {
Вместо:
if(empty($this->data) == false)
изменение:
$this->Form->create('Agents',
в
$this->Form->create('Agent',
Поскольку ваше имя модели не является Agent
не Agent
См. Здесь: Проверка модели
попробуй это:
public function send_money() { $this->layout='agent'; $this->Agent->create(); $this->Agent->set($this->data); if($this->Agent->saveAll($this->data['Agent'])) { $this->Session->setFlash('Information Added Successfully.'); $this->redirect('send_money'); } else { $this->set('errors', $this->Agent->invalidFields()); } }
Примечание: для регистрации проверки ошибок используйте эту debug($this->Agent->validationErrors);
,