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

时间:2012-03-29 05:45:58

标签: php mysql cakephp

我需要在CAKEPHP中为saveAll()方法添加IGNORE选项。我想要完全实现这一点。其他一些SO问题的答案与验证有关,isUnique()也是这样检查的。我需要实现这个条件,不要在乎后面的事情。

请告诉我。

1 个答案:

答案 0 :(得分:1)

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

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

那就是说,很有可能是一种方法来实现你想要做的事情,而不会经历那么多麻烦。如果你详细说明你想要做什么,我可能会给你一个更好的答案。