Save() 返回 NULL,不保存数据
Save() returning NULL, Not saving data
我正在尝试将数据保存到订单中 table。但是保存方法returns NULL。我也给了数据。
这是我正在尝试执行的代码。
$OrderData = [
'order_name' => 56,
'order_status_id' => '2',
'order_date' => date('Y-m-d H:i:s'),
'order_address' => '',
'order_suburb' => '',
'order_state' => '',
'order_postcode' => '',
'order_country' => '',
'client_id' => 55
];
$this->loadModel('Orders');
$orderData = $this->Orders->newEntity($OrderData, ['validate' => false]);
debug($this->Orders->save($orderData));die;
var_dump($this->Orders->save($orderData));die;
调试 returns 错误。
var_dump returns 布尔值(假)。
我什至无法检查蛋糕 ORM 生成的 SQL 查询,因为保存方法不是对象。
我正在尝试从登录控制器执行此操作。
$orderData 是一个有数据的实体,它不是空的。
试试这个:
$OrderData = [
'order_name' => 56,
'order_status_id' => '2',
'order_date' => date('Y-m-d H:i:s'),
'order_address' => '',
'order_suburb' => '',
'order_state' => '',
'order_postcode' => '',
'order_country' => '',
'client_id' => 55
];
$this->loadModel('Orders');
$saveData = $this-> Orders->newEntity();
$saveData = $this-> Orders->patchEntity($saveData, $OrderData);
$saveData = $this-> Orders->save($saveData);
尝试 debug($orderData->getErrors());
以确保实体对象没有验证错误。
或
直接对实体使用error(),如pr($orderData->errors());die;
。然而,$entity->errors()
方法自 3.4.0 起已弃用,应由 $entity->getErrors()
.
代替
在 CakePHP ['validate' => false]
中,不会验证您的字段(创建或更新时需要的字段)简单我们可以说 validationDefault()
验证不会验证但会验证 buildRules()
规则(存在于规则和唯一规则中)。所以我收到一个错误,因为我的 client_id 在客户端 table.
中不存在
我已经使用 errors()
方法调试了我的代码,例如 $orderData->errors();
我正在尝试将数据保存到订单中 table。但是保存方法returns NULL。我也给了数据。
这是我正在尝试执行的代码。
$OrderData = [
'order_name' => 56,
'order_status_id' => '2',
'order_date' => date('Y-m-d H:i:s'),
'order_address' => '',
'order_suburb' => '',
'order_state' => '',
'order_postcode' => '',
'order_country' => '',
'client_id' => 55
];
$this->loadModel('Orders');
$orderData = $this->Orders->newEntity($OrderData, ['validate' => false]);
debug($this->Orders->save($orderData));die;
var_dump($this->Orders->save($orderData));die;
调试 returns 错误。 var_dump returns 布尔值(假)。 我什至无法检查蛋糕 ORM 生成的 SQL 查询,因为保存方法不是对象。 我正在尝试从登录控制器执行此操作。 $orderData 是一个有数据的实体,它不是空的。
试试这个:
$OrderData = [
'order_name' => 56,
'order_status_id' => '2',
'order_date' => date('Y-m-d H:i:s'),
'order_address' => '',
'order_suburb' => '',
'order_state' => '',
'order_postcode' => '',
'order_country' => '',
'client_id' => 55
];
$this->loadModel('Orders');
$saveData = $this-> Orders->newEntity();
$saveData = $this-> Orders->patchEntity($saveData, $OrderData);
$saveData = $this-> Orders->save($saveData);
尝试 debug($orderData->getErrors());
以确保实体对象没有验证错误。
或
直接对实体使用error(),如pr($orderData->errors());die;
。然而,$entity->errors()
方法自 3.4.0 起已弃用,应由 $entity->getErrors()
.
在 CakePHP ['validate' => false]
中,不会验证您的字段(创建或更新时需要的字段)简单我们可以说 validationDefault()
验证不会验证但会验证 buildRules()
规则(存在于规则和唯一规则中)。所以我收到一个错误,因为我的 client_id 在客户端 table.
我已经使用 errors()
方法调试了我的代码,例如 $orderData->errors();