php – 如何将Propel Criteria编译为SQL
发布时间:2020-12-13 22:40:33 所属栏目:PHP教程 来源:网络整理
导读:如何编译Propel Criteria以清除SQL? 我试过$criteria- toString();但这不是我的预期. 我也尝试了ModelPeer :: doSelectStmt($criteria)但它返回了原始的sql(必需的参数替换) 首先,重要的是要注意Propel将PDO与预处理语句一起使用,因此您不会在 PHP中获得完
如何编译Propel Criteria以清除SQL?
我试过$criteria-> toString();但这不是我的预期. 我也尝试了ModelPeer :: doSelectStmt($criteria)但它返回了原始的sql(必需的参数替换)
首先,重要的是要注意Propel将PDO与预处理语句一起使用,因此您不会在
PHP中获得完全“内置”的SQL语句.使用Criteria-> toString()是一个很好的开始,但正如Peter提到的那样,很多工作确实由BasePeer :: createSelectSql()方法完成.
这是最完整的方法(来自Propel),看看SQL的外观(带占位符)和将被替换的参数: $params = array(); // This will be filled with the parameters $sql = BasePeer::createSelectSql($criteria,$params); print "The raw SQL: " . $sql . "n"; print "The parameters: " . print_r($params,true) . "n"; 请注意,只需在数据库级别记录查询,您就可以获得更好的里程.当然,如果PDO配置(或支持)使用本机db预处理语句,那么您可能仍然会在db中看到占位符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |