尽管存在但未找到记录
Record not found despite being present
好吧,我正在 post 数据 json 到我的后端,我有这个错误:
{
"message": "Record not found in table \"users\" with primary key ['6']",
"url": "/users/userdata",
"code": 404
}
不知道为什么?我的数据库中有一个 id = 6 的用户,在我的函数中我正确收到数据和 id,检查这部分,我的控制器:
public function userdata()
{
$user = TableRegistry::get('Users');
$id = $this->request->getData('iduser');
$data = $user->get($id, [
//'contain' => ['Cities']
]);
$this->set([
'success' => true,
'data' => $data,
'_serialize' => ['success', 'data']
]);
}
试试 $this->Users->get($id)
和 $this->Users->find($id)
我总是得到同样的错误
错误消息可能有点误导,因为人们可能认为它实际上是关于尝试访问数据库中的某些内容,但它实际上是一个 InvalidPrimaryKeyException
异常(每当收到错误时,请检查日志! ).
当传递的主键格式与 table 的主键配置不匹配时会发生这种情况,例如当主键是复合键时,您没有传递所有必需的列.如果 tables 主键配置错误,例如当它为空时,也可能会发生这种情况。
确保您传递了所有必需的列,检查您的 tables setPrimaryKey()
/primaryKey()
调用,确保清除模式缓存(tmp/cache/models
) 避免使用 wrong/old 模式,并确保正确配置数据库中的主键约束。
好吧,我正在 post 数据 json 到我的后端,我有这个错误:
{
"message": "Record not found in table \"users\" with primary key ['6']",
"url": "/users/userdata",
"code": 404
}
不知道为什么?我的数据库中有一个 id = 6 的用户,在我的函数中我正确收到数据和 id,检查这部分,我的控制器:
public function userdata()
{
$user = TableRegistry::get('Users');
$id = $this->request->getData('iduser');
$data = $user->get($id, [
//'contain' => ['Cities']
]);
$this->set([
'success' => true,
'data' => $data,
'_serialize' => ['success', 'data']
]);
}
试试 $this->Users->get($id)
和 $this->Users->find($id)
我总是得到同样的错误
错误消息可能有点误导,因为人们可能认为它实际上是关于尝试访问数据库中的某些内容,但它实际上是一个 InvalidPrimaryKeyException
异常(每当收到错误时,请检查日志! ).
当传递的主键格式与 table 的主键配置不匹配时会发生这种情况,例如当主键是复合键时,您没有传递所有必需的列.如果 tables 主键配置错误,例如当它为空时,也可能会发生这种情况。
确保您传递了所有必需的列,检查您的 tables setPrimaryKey()
/primaryKey()
调用,确保清除模式缓存(tmp/cache/models
) 避免使用 wrong/old 模式,并确保正确配置数据库中的主键约束。