请参阅Phalcon \ Mvc \ Model的原始SQL查询

时间:2016-11-06 11:22:24

标签: php mysql phalcon phalcon-orm

我有一个非常简单的查询,由于某种原因似乎不起作用 - 没有显示错误,但似乎没有执行,所以我想知道它是否是错误的(但在语法上是正确的) )生成查询。我想看看生成的查询 - 不好的是Query对象的getSql()方法($ this-> _modelsManager-> getLastQuery() - > getSql())似乎只适用于Select陈述(https://github.com/phalcon/cphalcon/blob/master/phalcon/mvc/model/query.zep#L3563)。

有问题的代码如下:

return $this->_modelsManager->executeUpdate("UPDATE " . __CLASS__ . " 
                        SET
                                hitCount = IFNULL(hitCount, 0) + 1
                        WHERE
                                uniqueHash = :uniqueHash:
                ", ['uniqueHash' => $uniqueHash]);

我手动将值替换为函数中收到的值,即

echo "UPDATE " . __CLASS__ . " 
                        SET
                                hitCount = IFNULL(hitCount, 0) + 1
                        WHERE
                                uniqueHash = ".$uniqueHash

生成的查询在MySQL Workbench中成功执行(我只需要用实际的表名替换 CLASS

另一个奇怪的事情是,如果我在查询本身中替换表名,我在错误日志中收到一个非常奇怪的错误:

PHP Fatal error:  Cannot redeclare class My\\Model\\Counter

我想如果没有更多数据就很难调试,但我决定提一下。如果需要,我已准备好提供更多信息,我愿意接受任何指示。提前谢谢。

0 个答案:

没有答案