$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. The eighteen day

    27th Nov 2018 Setting goals is the first step in turning the invisible into the visiable   ---Tony R ...

  2. 【Linux】Windows与Linux之间的文件共享(基于网络)

    切记:Linux的安全机制的存在--iptables和selinux. 一.操作前提 1.1 从Windows能够ping通Linux 1.2 关闭Linux防火墙 command1:/etc/ini ...

  3. monkeyrunner之安卓开发环境搭建(二)

    在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...

  4. Java IO 整理总结

    read(byte b[], int off, int len) 方法的作用是从输入流中读取 len 个字节,并把数据写入到字节数组b中,并返回实际读取了多少数据.如果没有读取到任何数据,意味着文件已 ...

  5. MyISAM引擎表出现“Error 'Incorrect key file for table”

    mysql主从复制中的从库突然出现了警报,sql_thread停止了,show slave status\G;查看 mysql> show slave status\G ; . row **** ...

  6. docker-day1-安装和基本使用

    Docker 1.什么是docker Docker 是一个开源项目,可以实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC)等技术.在 LXC 的基础上 Docke ...

  7. 微信小程序开发实践

    目录 项目是否适合移植到小程序上? 概要介绍 实践得到的经验 规则 小程序不支持的 新特性 小窍门 会话管理 进阶 项目是否适合移植到小程序上? 小程序由于微信提供了一些组件,在微信中的一些体验确实不 ...

  8. ABAP的语法高亮是如何在浏览器里显示的

    这篇文章的原文我发表在SAP官方社区上:https://blogs.sap.com/2018/03/09/how-abap-syntax-highlight-is-implemented-in-web ...

  9. IOS PushMeBaby(是一款用来测试ANPs的开源Mac项目)

    ● PushMeBaby是一款用来测试ANPs的开源Mac项目 ● 它充当了服务器的作用,用法非常简单 ● 它负责将内容提交给苹果的APNs服务器,苹果的APNs服务器再将内容推送给用户 的设备 ● ...

  10. IOS 摇一摇的方法

    ● 监控摇一摇的方法 ● 方法1:通过分析加速计数据来判断是否进行了摇一摇操作(比较复杂) ● 方法2:iOS自带的Shake监控API(非常简单) ● 判断摇一摇的步骤:实现3个摇一摇监听方法 ● ...