前言:
目前同学们对“thinkphp做多重筛选”大致比较关心,姐妹们都需要了解一些“thinkphp做多重筛选”的相关文章。那么小编同时在网摘上收集了一些对于“thinkphp做多重筛选””的相关文章,希望姐妹们能喜欢,我们一起来了解一下吧!数据库的快捷查询
一.快捷查询
1. 系统封装了很多where方法的快捷方式,之前学习了一些,全部如下:
2. whereColumn()方法,比较两个字段的值,符合的就筛选出来;
$user = Db::name('user')
->whereColumn('update_time', '>=', 'create_time')
->select();
//相等可以简化,只需要两边的字段 whereColumn('update_time', 'create_time')
3. 系统还针对字段查询提供了几个方便查询的快捷方式;
4. whereFieldName()方法,查询某个字段的值,注意FileName是字段名;
Db::name('user')->whereEmail('xiaoxin@163.com')->find();
Db::name('user')->whereUsername('蜡笔小新')->find(); //如果字段是 create_time,则 whereCreateTime,驼峰式写法;
5. getByFieldName()方法,查询某个字段的值,注意只能查询一条,不需要find(); Db::name('user')->getByEmail('xiao@163.com');
6. getFieldByFieldName()方法,通过查询得到某个指定字段的单一值; Db::name('user')->getFieldByEmail('xiao@163.com', 'username');
二.其它补充
1. when()可以通过条件判断,执行闭包里的分支查询;
$user = Db::name('user')->when(false, function ($query) { $query->where('id', '>', 0);
}, function ($query) { $query->where('username', 'like', '%小%');
})->select();
标签: #thinkphp做多重筛选