Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP整型字段默认值null在读取()或创建()后的save()验证失败_Php_Mysql_Sql Server_Cakephp - Fatal编程技术网

CakePHP整型字段默认值null在读取()或创建()后的save()验证失败

CakePHP整型字段默认值null在读取()或创建()后的save()验证失败,php,mysql,sql-server,cakephp,Php,Mysql,Sql Server,Cakephp,模式: 型号: 控制器: 此代码无法验证休假\u请求\u拒绝\u原因\u id 我已经将问题缩小到在调用Model->read或Model->create之后尝试调用Model->save时。事实证明,如果我注释掉create调用,代码将工作 我敢说这是虫子。然而,我觉得我以前在整数列中经历过这种情况,并且忘记了这方面的工作。感谢您的指导 使现代化 我应该注意,休假请求、拒绝、原因、id不是表单提交中$this->数据的一部分。因此,验证失败确实很奇怪。此外,我无意在验证规则中使用'allowE

模式:

型号:

控制器:

此代码无法验证休假\u请求\u拒绝\u原因\u id

我已经将问题缩小到在调用Model->read或Model->create之后尝试调用Model->save时。事实证明,如果我注释掉create调用,代码将工作

我敢说这是虫子。然而,我觉得我以前在整数列中经历过这种情况,并且忘记了这方面的工作。感谢您的指导

使现代化
我应该注意,休假请求、拒绝、原因、id不是表单提交中$this->数据的一部分。因此,验证失败确实很奇怪。此外,我无意在验证规则中使用'allowEmpty'=>true。当它出现在$this->data中时,我希望确保它是数字。

在验证数组中,尝试将空选项设置为true:

'vacation_request_denial_reason_id' => array('numeric' => array('rule' => array('numeric'), 'empty' => true

这将允许值为空。我不记得默认值是否为false,但似乎可能是这样。

谢谢,但我不想允许空值。我已经更新了我的原始问题,以确保这是清楚的。啊,所以您希望它被填充,但如果它根本不是数据结构的一部分,那也没关系。在这种情况下,使用'required'=>false。退房
class VacationRequest extends AppModel {
    var $name = 'VacationRequest';
    var $actsAs = array('Containable');
    var $validate = array('employee_id' => array('numeric' => array('rule' => array('numeric'))),
        'approving_supervisor_id' => array('numeric' => array('rule' => array('numeric'))),
        'vacation_request_status_id' => array('numeric' => array('rule' => array('numeric'))),
        'vacation_hours' => array('numeric' => array('rule' => array('numeric'))),
        'vacation_request_denial_reason_id' => array('numeric' => array('rule' => array('numeric'))));
function add() {
  if (!empty($this->data)) {
    $this->VacationRequest->create();
    if ($this->VacationRequest->save($this->data)) {
      // ...
    }
  }
}
'vacation_request_denial_reason_id' => array('numeric' => array('rule' => array('numeric'), 'empty' => true