thinkphp 中where条件怎么使用or
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 中where条件怎么使用or相关的知识,希望对你有一定的参考价值。
where方法的用法是Thinkphp查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。我觉得后盾人还不错,有时间的话,你可以去看看,会有不错的效果哦 参考技术A 大概你可以参考下我的建议,使用字符串条件直接查询和操作,例如:$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();
最后生成SQL语句。你可以去后盾人学习相关的资料,这样你可以懂得更多,这样不错 参考技术B 使用字符串条件直接查。
最后生成的SQL语句是
SELECT * FROM think_user WHERE type=1 AND status=
如果使用3.1以上版本的话,使用字符串条件的时候,建议配合预处理机制,
xx='%f'",array($id,$username,$xx))->select();
或者使用:其实你可以去后盾人看看,这样你可以学习更多,你会太有不一样的收获 参考技术C 如果进行多字段查询,那么字段之间的默认逻辑关系是逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
$User = M("User");// 实例化User对象。如果你可以的话,可以去后盾人学习,这样也许你会有不一样的体验 参考技术D 或者你就可以这么写,不要用数组的形式 $User->where('cname' = '%'.abc.'%' or 'ename' = '%'.abc.'%')->delete();具体情况你可以去学习相关的资料,后盾人就不错,你可以去学习,一定有所收获
thinkphp 多个字段的不同关系的查询条件实现 .
tp的$map不同条件默认是 and ,如果要用or<><><><>如下
例如查询Stu表中年龄大于18,或者身高低于180cm的男性(1为男性),(例子不太好标题有可能不符,望见谅)
$where[‘age‘] = array("gt",18);
$where[‘height‘] =array("lt",180);
$where[‘_logic‘] = "OR";
$map["_complex"] = $where;
$map[‘sex‘] = 1;
$res = M("Stu")->where($map)->select();
以上是关于thinkphp 中where条件怎么使用or的主要内容,如果未能解决你的问题,请参考以下文章
thinkphp自带的分页 查询数据时怎么使用where条件