$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小项目]GUI界面的局域网聊天室

    思路: 1.服务端: 1.1 创建ServerSocket 监听本地端口 1.2 循环接收多个客户端的连接,并且把多个客户端连接的每个管道都为其创建线程. 服务端类的成员:链表--每个成员都是线程类- ...

  2. random模块/string模块

    一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...

  3. Python爬虫之图片懒加载技术、selenium和PhantomJS

    一.引入 2.概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 3.回顾 验证码处理流程 一.今日详情 动态数据加载处理 1.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素 ...

  4. 使用CKRule实现PVC配方计算

    1,PVC计算的基本原理 配方员设计好配方,再进行抽象提炼,会出现相对于软件而言可以理解的逻辑,如属性的概念,对厂企生成的PVC产品而言,一般都有产品大类名称,花纹,颜色,长度,宽度,厚度等概念,这对 ...

  5. App Inventor 网络资源及推荐书目

    Ai2服务器 官方服务器:http://ai2.appinventor.edu/ 官方备用服务器:(大陆可用):http://contest.appinventor.mit.edu/ 国内个人服务器: ...

  6. 自动装配(AutoWire)

    根据 autowire 的配置选择装配策略 byName 选择和属性名 name 一致的 bean 进行装配: byType 根据类型选择,如果对应的类型匹配到多个bean,则会报错,如下配置: &l ...

  7. 设计模式之模板方法模式(Template)

    一.介绍 模板方法模式是编程中经常用到的模式.它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现.这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤. 二.场景举例 当一 ...

  8. em px 换算在线工具

    网址: http://pxtoem.com/#help http://www.runoob.com/tags/ref-pxtoemconversion.html

  9. May 15th 2017 Week 20th Monday

    Life is a flower of which love is the honey. 人生是花朵,爱情是花蜜. Not every life can be a flower, not every ...

  10. Android 位置服务

    原文来自:http://developer.android.com/guide/topics/location/strategies.html 位置策略 注意: 本指南仅限android.locati ...