saveAll不起作用可以帮助我找出问题所在。我已经包含了控制器的动作,传递给saveAll的数组及其模型。
包含saveAll的控制器操作如下所示 -
public function add_customer_order() {
if ($this->request->is('post')) {
-
-
-
-
$this->CustomerOrderItem->create();
if ($this->CustomerOrderItem->saveAll($customer_order_item)) {
$this->Session->setFlash('The customer order Items has been saved successfully.', 'default/flash_success');
}
else {
$this->Session->setFlash('The customer order Items not been saved successfully.', 'default/flash_success');
}
}
}
数组$ customer_order_item如下所示 -
array(
'CustomerOrderItem' => array(
(int) 0 => array(
'id' => '',
'quantity' => '400',
'unit_cost' => '77',
'pending_quantity' => '400',
'packaging_configuration_quantity' => '20',
'exercise_duty_id' => '0',
'tax_id' => '5',
'customer_order_id' => '',
'master_article_id' => '22'
),
(int) 1 => array(
'id' => '',
'quantity' => '200',
'unit_cost' => '77',
'pending_quantity' => '200',
'packaging_configuration_quantity' => '20',
'exercise_duty_id' => '0',
'tax_id' => '5',
'customer_order_id' => '',
'master_article_id' => '25'
),
(int) 2 => array(
'id' => '',
'quantity' => '400',
'unit_cost' => '77',
'pending_quantity' => '400',
'packaging_configuration_quantity' => '20',
'exercise_duty_id' => '1',
'tax_id' => '5',
'customer_order_id' => '',
'master_article_id' => '23'
),
(int) 3 => array(
'id' => '',
'quantity' => '200',
'unit_cost' => '77',
'pending_quantity' => '200',
'packaging_configuration_quantity' => '20',
'exercise_duty_id' => '1',
'tax_id' => '5',
'customer_order_id' => '',
'master_article_id' => '24'
),
(int) 4 => array(
'id' => '',
'quantity' => '200',
'unit_cost' => '77',
'pending_quantity' => '200',
'packaging_configuration_quantity' => '20',
'exercise_duty_id' => '1',
'tax_id' => '5',
'customer_order_id' => '',
'master_article_id' => '27'
)
)
)
该模型如下所示 -
<?php
App::uses('AppModel', 'Model');
/**
* CustomerOrderItem Model
*
* @property CustomerOrder $CustomerOrder
* @property MasterArticle $MasterArticle
*/
class CustomerOrderItem extends AppModel {
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'customer_order_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'master_article_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
);
//The Associations below have been created with all possible keys, those that are not needed can be removed
/**
* belongsTo associations
*
* @var array
*/
public $belongsTo = array(
'CustomerOrder' => array(
'className' => 'CustomerOrder',
'foreignKey' => 'customer_order_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'MasterArticle' => array(
'className' => 'MasterArticle',
'foreignKey' => 'master_article_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
答案 0 :(得分:0)
尝试
if ($this->CustomerOrderItem->saveAll($this->request->data)) {
答案 1 :(得分:0)
首先删除所有验证规则,然后再次检查错误是否仍然存在。如果没有则必须存在数据验证规则问题或'customer_order_id'的空值。