php - 将 INSERT IGNORE 语句添加到 CAKEPHP saveAll 方法

标签 php mysql cakephp

我需要在 CAKEPHP 的 saveAll() 方法中添加 IGNORE 选项。我想要 this 的精确实现。回答的其他一些 SO 问题与验证和 isUnique() 这样的检查有关。我需要执行这个条件,不关心后面发生了什么。

请多多指教。

最佳答案

除了使用 execute() 之外,我认为这是唯一可能的方法。如果您扩展了 Mysql 数据源类并更改了 create() 的行为,那么您的数据源提供的函数就是这样。和 renderStatement()函数包括您希望它附加 IGNORE SQL 关键字的情况。

您希望将数据源文件放在 APP/Model/Datasource/ 中并让它扩展 Mysql(假设您使用 CakePHP 2+)。看看上面的两个函数。我只是创建一个案例,如果在调用 renderStatement() 时使用“createignore”而不是“create”,当某个选项传递给 create() 时。

也就是说,很可能有一种方法可以在不经历那么多麻烦的情况下实现您想要做的事情。如果您详细说明您正在尝试做什么,我可能会为您提供更好的答案。

关于php - 将 INSERT IGNORE 语句添加到 CAKEPHP saveAll 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9919714/

相关文章:

javascript - 用 php/或其他语言制作一个大的通用函数文件有什么缺点吗

php - 如何使用php mysqli搜索数据库的所有表并显示答案

python - 使用 Python 在 HTML 中打印来自 MySql 的数据

MySQL从具有特定键的表中选择*

MySQL:更新...重复 key "ANOTHER UPDATE"?

CakePHP 查看更改扩展

php 将 Excel 工作表导入 mysql cakephp 1.3

php - 如何在使用 PHP 中的 javascript 加载页面时加载带有值的 html <select>?

php - 通过单击从列表中发布选定的值 - PHP/HTML

php - 如何在 Cake 3 的表模型文件中设置数据源?