原生SQL查询解析支持
原生SQL查询解析支持
支持对原生SQL查询使用连贯操作进行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
替换字符串 对应连贯操作方法 %FIELD% field %TABLE% table %DISTINCT% distinct %WHERE% where %JOIN% join %GROUP% group %HAVING% having %ORDER% order %LIMIT% limit %UNION% union
原生SQL查询解析支持 支持对原生SQL查询使用连贯操作进行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