$this->load->model('station/Station_model','Station');
// East
// North
$this->Station->set_where('isdel',0);
//连表查询地区
$this->Station->list_attributes = 'region.text as sitone,station.North,station.East,station.state,station.stabianhao,station.staname,station.siteonename,station.sitetwoname,station.sitename,station.statype,station.settime,station.staid';
$this->Station->join('region','region.linkageid = station.sitetwoname','left');
if ($type!='all') {
$this->Station->set_where('station.state',$type);
} $this->Station->set_where(' ( station.sitetwoname',$sitearr,'where_in');
$this->Station->set_where('station.siteonename',$sitearr,'or_where_in');
$this->Station->set_where(' 1 = 2 ) and 1','1','or_where_in'); $data = $this->Station->get_stewhere_all();
echo $this->db->last_query();die;

这样生成的sql为

 SELECT
`dz_region`.`text` AS `sitone`,
`dz_station`.`North`,
`dz_station`.`East`,
`dz_station`.`state`,
`dz_station`.`stabianhao`,
`dz_station`.`staname`,
`dz_station`.`siteonename`,
`dz_station`.`sitetwoname`,
`dz_station`.`sitename`,
`dz_station`.`statype`,
`dz_station`.`settime`,
`dz_station`.`staid`
FROM
`dz_station`
LEFT JOIN `dz_region` ON `dz_region`.`linkageid` = `dz_station`.`sitetwoname`
WHERE
`isdel` = 0
AND (
`dz_station`.`sitetwoname` IN (
'',
'',
'',
'',
'',
''
)
OR `dz_station`.`siteonename` IN (
'',
'',
'',
'',
'',
'',
'',
''
)
OR 1 = 2
)
AND 1 IN ('')

以上

如果不采用我的办法生成的sql为

SELECT
`dz_region`.`text` AS `sitone`,
`dz_station`.`North`,
`dz_station`.`East`,
`dz_station`.`state`,
`dz_station`.`stabianhao`,
`dz_station`.`staname`,
`dz_station`.`siteonename`,
`dz_station`.`sitetwoname`,
`dz_station`.`sitename`,
`dz_station`.`statype`,
`dz_station`.`settime`,
`dz_station`.`staid`
FROM
`dz_station`
LEFT JOIN `dz_region` ON `dz_region`.`linkageid` = `dz_station`.`sitetwoname`
WHERE
`isdel` = 0 AND `dz_station`.`sitetwoname` IN (
'1',
'199',
'203',
'205',
'197',
'209',
'208'
)
OR `dz_station`.`siteonename` IN (
'1',
'199',
'203',
'205',
'211',
'209',
'208'
)

  当然这是不满足需求的,至于为什么不用原生sql,因为数组不好处理,

ci框架 用框架自带db 添加括号,比如 like 等等左右添加括号 解决办法的更多相关文章

  1. win10应用程序添加到开机启动项的两种解决办法

    原文 win10应用程序添加到开机启动项的两种解决办法 在windows10系统中,如果想让应用程序在开机之后自动运行起来,可以怎么做呢? 方法一: 1.首先创建应用程序的快捷方式 找到自己想加入开机 ...

  2. Xcode升级插件失效,与添加插件不小心点击Skip Bundle解决办法

    一.当发现升级xcode后,插件不能使用,解决办法如下: 1.查看Xcode的UUID 在终端执行 defaults read /Applications/Xcode.app/Contents/Inf ...

  3. ubuntu系统中添加DNS服务器地址后诡异消失的解决办法

    今天查看了一下自己电脑里的ubuntu14.04系统,发现无法上网,于是ping了一下百度,出现unknown host,查了一下/etc/resolv.conf中的DNS地址,却发现我之前的修改被清 ...

  4. 自定义配置文件读取产生的“无法添加已属于该配置的 ConfigurationSection”异常解决办法

    最近在编写一个读写自定义配置文件的功能时遇到一个问题,在初始化的时候读入配置显示出来,修改后把配置回存到配置文件,在回存的时候,先移除配置节,再添加,在添加的时候遇到如下的异常: {"无法添 ...

  5. ThinkPHP模板中JS等带花括号处会被解析错误的解决办法

    如下图,当本人在ThinkPHP框架的模板中写jQuery代码的时候,写了一些注释,并且注重是斜线和换括号{是连着一起的,这层语法上来时是没问题的,但是在ThinkPHP 的模板引擎解析下,会被解析掉 ...

  6. 【转】Xcode升到6.4插件失效,与添加插件不小心点击Skip Bundle解决办法

    转载自:http://www.jianshu.com/p/d51547d29309 今天升级了xcode到6.4 发现之前装的插件不能使用了.这里有一个解决的方案: 步骤如下: 一.查看Xcode的U ...

  7. java web添加mysql过程中遇到的错误及解决办法

    问题一:遇到提示找不到驱动   com.mysql.jdbc.Driver 起初项目中是导入了mysql-connector-java-5.1.45-bin.jar 包的,但是一直依然报错,最后去官网 ...

  8. AspNet Mvc 路由解析中添加.html 等后缀 出现404错误的解决办法

    使用Mvc 有时候我们希望,浏览地址以.html .htm 等后缀名进行结尾. 于是我们就在RouteConfig 中修改路由配置信息,修改后的代码如下 routes.IgnoreRoute(&quo ...

  9. [Irving] Ext.Net动态添加GridPanel列绑定Checkbox值失败的解决办法

    var grid = X.GetCmp<GridPanel>(vm.GRID_QUOTATIONS_FEEITEM_RANGE_SHOW); grid.AddColumn(Html.X() ...

  10. 添加Pods后,import无提示的解决办法

    选择工程的 Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项 新增一个值"$(PODS_ROOT)" ...

随机推荐

  1. Java transient和volatile关键字

    关键字Volatile Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总 ...

  2. 深入理解java线程池—ThreadPoolExecutor

    几句闲扯:首先,我想说java的线程池真的是很绕,以前一直都感觉新建几个线程一直不退出到底是怎么实现的,也就有了后来学习ThreadPoolExecutor源码.学习源码的过程中,最恶心的其实就是几种 ...

  3. linux定期任务cron

    做个给服务器定期检测的python程序,要python跑起来自己检测时间再执行?我想到了用cron服务. 遇到了个问题python没写绝对路径,没有执行,改了绝对路径就好了.其实人家配置文件开头写了个 ...

  4. python 日期排序

    转自:http://www.cnblogs.com/lkprof/p/3179850.html,感谢分享~ 问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','19 ...

  5. js:正则表达式

    <script type="text/javascript"> function SubmitCk() { var reg = /^([a-zA-Z0-9]+[_|\_ ...

  6. React学习笔记 - Hello World

    React Learn Note 1 React学习笔记(一) 标签(空格分隔): React JavaScript 前.Hello World 1. 创建单页面应用 使用Create React A ...

  7. aws查看官方centos镜像imageid

    aws ec2 describe-images --owners aws-marketplace --filters Name=product-code,Values=aw0evgkw8e5c1q41 ...

  8. TP5.0:引入view视图中公共的模版文件

    1.实例:如后台admin模块,公用一个header.html和footer.hml 2.目录结构: 3.视图页面的使用方式: <!--添加header页面数据-->{include fi ...

  9. March 18 2017 Week 11 Saturday

    When you feel like quitting, think about why you started. 当你想放弃时,想想你为什么开始. When I heard of the messa ...

  10. 在已有软件加壳保护 下实现 Inline hook

    如写的不好请见谅,本人水平有限. 个人简历及水平:. http://www.cnblogs.com/hackdragon/p/3662599.html 正常情况: 接到一个项目实现对屏幕输出内容的获取 ...