$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. webpack管理资源

    加载Css webpack并不能处理js以外的静态资源,通过loader来支持他们 npm install --save-dev style-loader css-loader const path ...

  2. 自适应布局下echarts引起页面跳帧

    项目上突然遇到一个问题,鼠标快速滑动有echarts画的饼图时,页面出现了跳帧.布局的高度突然发生变化然后恢复正常.高度怎么会变化呢?都是按百分比来的啊? 经过一番仔细观察,在跳帧的时候页面底部闪过了 ...

  3. 纯CSS实现Tab切换标签效果代码

    在线演示地址如下: http://demo.jb51.net/js/2015/css-tab-bq-style-cha-codes/ <!DOCTYPE html PUBLIC "-/ ...

  4. 某虚拟定位APP从破解到原理分析

    工具环境ida7.0iphone 6ios 10.2 0x00:基本情况 1. 该app可以修改模拟手机地理位置(gps.基站.WIFI),拥有全局定位.指定应用定位.模拟扫街等功能,只能在已越狱的I ...

  5. log4j2单独的配置与使用&log4j2+slf4j的结合的配置与使用

    转载自:https://github.com/iamyong 一.log4j2单独的配置与使用 所用jar文件 log4j-api-2.8.2.jar log4j-core-2.8.2.jar 配置文 ...

  6. SELECT s.* FROM person p INNER JOIN shirt s ON s.owner = p.id WHERE p.name LIKE 'Lilliana%' AND s.color <> 'white';

    SELECT s.* FROM person p INNER JOIN shirt sON s.owner = p.idWHERE p.name LIKE 'Lilliana%'AND s.color ...

  7. SpringMvc-view

    1.view视图:及springmvc返回到前端的页面,前面的所有跳转都是view的列子在此就不在举例了 2.在view界面中如何实现国际化? 2.1实现国际化有首先需要配置国际化资源文件:例如 英文 ...

  8. Quartus II管脚批量分配文件(.tcl)格式

    package require ::quartus::project set_location_assignment PIN_E1 -to clk set_location_assignment PI ...

  9. sql server:取当前时间前10分钟之内的数据 dateadd()

    当前时间 select GETDATE() 当前时间点前10分钟 dateadd() ,GETDATE()) 取当前时间点前10分钟以内的数据,且按创建时间倒序排 select * from tabl ...

  10. 设计模式——原型模式(Prototype Pattern)

    原型模式:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML 图: 原型类: package com.cnblog.clarck; /** * 原型类 * * @author c ...