CakePHP 3 Pb将数据保存到BD中

时间:2016-01-20 15:30:13

标签: cakephp-3.x

我有一张表ComplexesEmployeesImmeubles:

id auto-increment
complex_id foreign key of Complexes.ID
employee_id foreign key of Employees.ID
immeuble_id foreign key of Immeubles.ID
poste_id foreign key of Postes.ID
date_affectation 
created

这是我的观点reaffecter.ctp

<?= $this->Form->create('ComplexesEmployeesImmeubles') ?>
<?php

echo $this->Form->select('complex_id', $complexes);
echo $this->Form->input('employee_id',['type' => 'hidden' , 'value' => h($employee->id)]);

echo $this->Form->select('immeuble_id', $immeubles);

echo $this->Form->select('poste_id', $postes);
echo $this->Form->input('salaire', ['label' => 'Salaire']);
echo $this->Form->input('date_affectation', ['label' => 'Date d\'affectation']);
?>
    <?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>

在我的控制器中,我尝试使用下面的代码将数据保存到BD中,但没有保存!

if ($this->request->is('post')) {
$complexesEmployeesImmeuble = $this->ComplexesEmployeesImmeubles->newEntity();
$complexesEmployeesImmeuble = $this->ComplexesEmployeesImmeubles->patchEntity($complexesEmployeesImmeuble, $this->request->data);
 $this->ComplexesEmployeesImmeubles->save($complexesEmployeesImmeuble);}

1 个答案:

答案 0 :(得分:1)

使用debug($complexesEmployeesImmeuble->errors())检查验证是否失败。

if(!$this->ComplexesEmployeesImmeubles->save($complexesEmployeesImmeuble)){
  debug($complexesEmployeesImmeuble->errors()); die;
 }

如果您没有收到错误但仍未保存,请检查质量指定,更多信息http://book.cakephp.org/3.0/en/orm/entities.html#mass-assignment