原生SQL查询解析支持
对query和execute两个原生SQL操作方法增加第二个参数支持, 表示是否需要解析SQL (默认为false 表示直接执行sql),如果设为true 则会解析SQL中的特殊字符串 (需要配合连贯操作)。
例如,支持 如下写法:
- $model->table("think_user")
- >where(array("name"=>"thinkphp"))
- >field("id,name,email")
- >query('select %FIELD% from %TABLE% %WHERE%',true);
- 其中query方法中的%FIELD%、%TABLE%和%WHERE%字符串会自动替换为同名的连贯操作方法的解析结果SQL,支持的替换字符串包括:
| 替换字符串 | 对应连贯操作方法 |
|---|---|
| %FIELD% | field |
| %TABLE% | table |
| %DISTINCT% | distinct |
| %WHERE% | where |
| %JOIN% | join |
| %GROUP% | group |
| %HAVING% | having |
| %ORDER% | order |
| %LIMIT% | limit |
| %UNION% | union |
本文介绍了一种对原生SQL查询使用连贯操作进行解析的方法。通过在query和execute方法中增加是否解析SQL的选项,可以实现将特定字符串替换为对应的SQL片段。支持的替换包括%FIELD%、%TABLE%等。
1162

被折叠的 条评论
为什么被折叠?



