gpt4 book ai didi

mysql - CakePHP saveAll 更新或插入相关数据

转载 作者:行者123 更新时间:2023-11-29 05:41:30 25 4
gpt4 key购买 nike

我是 CakePHP 的新手,我正在尝试保存一些相关数据。

现在我有一个消息数据库和一个用户数据库,我想将发送消息的用户保存在用户表中,但是如果他们发送多条消息,这个用户可能已经存在了。

现在我是这样更新的:

$this->Message->saveAll(array(
'Message' => array(
'contents' => $contents,
),
'User' => array(
'name' => $name,
'email' => $email,
)
);

然而,这会导致 mysql 抛出错误,因为 CakePHP 会尝试插入用户,就好像它是新用户一样,但电子邮件已经存在并且应该是唯一的。

有什么办法吗?或者我应该自己检查用户是否已经存在?

TIA。

最佳答案

用户表中是否有 'id' 字段?

如果是这样,CakePHP 将使用它来确定它是否应该更新或插入一行。

因此,您最好先从 User 中进行查找,以植入要更新 User 的数据,至少获取 'id'。如果您不提供 'id',CakePHP 将尝试插入。

关于mysql - CakePHP saveAll 更新或插入相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480952/

25 4 0
文章推荐: php - MYSQL DATE range 日期格式查询
文章推荐: Java 泛型 - 为什么 = new 不允许?