查询语句where的用法
$news = M("cms_news");
$news->pageSize = 15;
$news->field = 'id,sUrl,title,hits,addtime,istop';
1.字符串格式,兼容旧版,不安全,不建议使用
$news->where('status=1 and uid=1');
可包含或不包含where,不区分大小写
$news->where('where status=1 and uid=1');
2.一维数组,无限个字段,自动拼接为 and
$news->where(['status' => 1]);
$news->where(['status' => 1, 'uid' => 1]);
3.不支持同一个字段,多个条件
$news->where(['id' => ['<', 5]]);
$news->where(['id' => ['<', 5], 'id' => ['!=', 2]]);//注意,这里只有会解析成一个有效
4.IN 和 NOT IN 查询
$news->where(['id' => ['IN', [1, 2, 3]]]);
$news->where(['id' => ['NOT IN', [1, 2, 3]]]);
4.BETWEEN 查询
$news->where(['hits' => ['BETWEEN', [8, 10]]]);
5.LIKE 查询,多字段默认识别为AND,需要OR请用orWhere
$news->where(['title' => ['LIKE', '%AI%']]);
$news->where(['title' => ['LIKE', '%AI%'], 'smallmemo' => ['LIKE', '%AI%']]);
6.where可以和andWhere和orWhere组合使用,where和andWhere可多次调用,orWhere只可以一次
$news->where(['status' => 1]);
$news->andWhere(['status' => 1]);
$news->andWhere(['istop' => 1]);
7.OR + like 查询,不支持多次拆分调用
$news->orWhere(['title' => ['LIKE', '%AI%'], 'smallmemo' => ['LIKE', '%AI%']]);
//不可以分开多次orWhere,只支持一次orWhere,多个字段,会自动加括号
$news->orWhere(['title' => ['LIKE', '%AI%']]); //XX
$news->orWhere(['smallmemo' => ['LIKE', '%AI%']]); //XX
调用getList查询
$news->getList();