ThinkPHP6 where()

<?php
namespace app\controller;

use app\BaseController;
//1. 引用Db
use think\facade\Db;

class Index extends BaseController
{
    public function index()
    {	
//  	比较查询  默认等于

//  	&|! 支持多个where
//    	$user = Db::name('user')
//            	->where('username|email', 'like', '%xiao%')
//            	->where('price&uid', '>', 0)
//            	->select();
        
//		$res = Db::name('user')->where(['gender' => '1', 'status' => '1'])->select();

//		多数组 Db::raw 自定义条件  
//    	$user = Db::name('user')->where([
//	      			['id', '>', 0],
//	              	['status', '=', 1],
//	              	['price', 'exp', Db::raw('>=80')],
//	              	['email', 'like', '%163%']
//	      		])->select();

//		where([$map])结果里添加where
//    	$map = [
//    			['id', '>', 0],
//            	['price', 'exp', Db::raw('>=80')],
//            	['email', 'like', '%163%']
//        	];
//    	$user = Db::name('user')
//				->where([$map])
//		      	->where('status', 1)
//		      	->select();

//		双数组
//    	$map1 = [
//        	['username', 'like', '%小%'],
//        	['email', 'like', '%163%']
//    	];
//    	$map2 = [
//        	['username', 'like', '%孙%'],
//        	['email', 'like', '%.com%']
//    	];
//    	
//    	$user = Db::name('user')->whereOr([$map1, $map2])->select();

//		exp 插入自定义SQL
//		$res = Db::name('user')->where('id', 'exp', '= 1')->select();
//		$res = Db::name('user')->whereExp('id', '= 1')->select();
		
//		闭包
//    	$user = Db::name('user')->where(function ($query) {
//	          	$query->where('id', '>', 0);
//	      	})->whereOr(function ($query) {
//	          	$query->where('username', 'like', '%小%');
//	      	})->select();
		
//		whereRaw() 自定义SQL
//    	$user = Db::name('user')
//        		->whereRaw('(username LIKE "%小%" AND status=1) OR id>0')
//            	->select();
		
//		预处理 参数绑定
//      $user = Db::name('user')
//              ->whereRaw('(username LIKE :username AND status=:status) OR id>:id',
//                          ['username'=>'%小%', 'status'=>1, 'id'=>0])
//              ->select();
		
//  	like 模糊查询,不区分大小写
//  	$res = Db::name('user')->where('username', 'like', 'A%')->select();

//		多个模糊 默认and
//		$res = Db::name('user')->where('username', 'like', ['a%', 'b%'], 'or')->select();
		

//      快速查询

//		whereLike 省去括号里对like
//		$res = Db::name('user')->whereLike('username', 'A%')->select();

//		whereNotLike 查反
//		$res = Db::name('user')->whereNotLike('username', 'A%')->select();

//		between 在区间  同理其他
//		$res = Db::name('user')->where('id', 'between', '1,5')->select();
		
//		in 在列表  同理其他
//		$res = Db::name('user')->where('id', 'in', '1,5')->select();
		
//		null 查NULL 同理其他
//		$res = Db::name('user')->where('status', 'null')->select();
//		查反
//		$res = Db::name('user')->where('status', 'not null')->select();

//		whereColumn() 比较两个字段  默认=
//      $user = Db::name('user')
//            	->whereColumn('update_time', '>', 'create_time')
//            	->select();
		
//		whereEmail() 快速查email字段
//    	$user = Db::name('user')->whereEmail('xiaoxin@163.com')->find();
//    	whereUsername() 快速查username字段
//    	$user = Db::name('user')->whereUsername('蜡笔小新')->find();
	 	
//		getByFieldName() FieldName自定义 只查询一条
//    	$user = Db::name('user')->getByEmail('xiaoxin@163.com');
//		getFieldByFieldName() 通过一个字段值查另一个字段值
//    	$user = Db::name('user')->getFieldByEmail('xiaoxin@163.com', 'username');
		
//		when() 通过条件判断,执行闭包里的分支查询
//      $user = Db::name('user')->when(false, function ($query) {
//	        		$query->where('id', '>', 0);
//	        	}, function ($query) {
//	            	$query->where('username', 'like', '%小%');
//	        	})->select();

    	return json($res);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值