ThinkPHP5条件构造器

129 阅读1分钟

 

<?php

namespace app\index\controller;

use think\Controller;
use think\View;
use think\Db;

class Index extends Controller
{
    public function index()
    {
        $db = Db::name('user');

        #       注释
        # EQ            =
        # NEQ           <>
        # LT            <
        # ELT           <=
        # GT            >
        # EGT           >=
        # BETWEEN       BETWEEW * AND *
        # NOTBETWEEN    NOT BETWEEN * AND *
        # IN            IN (*, *)
        # NOTIN         NOT IN (*, *)


        $sql = $db->where("id", "EQ", 1)->buildSql();
        $sql1 = $db->where("id", "NEQ", 1)->buildSql();
        $sql2 = $db->where("id", "LT", 1)->buildSql();
        $sql3 = $db->where("id", "ELT", 1)->buildSql();
        $sql4 = $db->where("id", "GT", 1)->buildSql();
        $sql5 = $db->where("id", "EGT", 1)->buildSql();
        $sql6 = $db->where("id", "BETWEEN", "1,5")->buildSql();
        $sql7 = $db->where("id", "NOTBETWEEN", "1,5")->buildSql();
        $sql8 = $db->where("id", "IN", [1,5,10])->buildSql();
        $sql9 = $db->where("id", "NOTIN", [1,5,10])->buildSql();

        dump($sql);
        dump($sql1);
        dump($sql2);
        dump($sql3);
        dump($sql4);
        dump($sql5);
        dump($sql6);
        dump($sql7);
        dump($sql8);
        dump($sql9);

        echo "<hr>";

        $sql10 = $db->where("id", "EXP", "not in (1,2,3)")
                    ->buildSql();

        dump($sql);

        echo "<hr>";
        # 多个条件
        $sql11 = $db
            ->where("id", "in", "1,2,3")
            ->where("username", "eq", "12346")
            ->buildSql();
        dump($sql11);

        echo "<hr>";
        # or方法
        $sql12 = $db
            ->where("id", "in", "1,2,3")
            ->whereOr("username", "eq", "12346")
            ->whereOr("num", "lt", "10")
            ->where("email", "123456789")
            ->buildSql();
        dump($sql12);



        # 在编写的时候,建议大家都是用三个参数的方式来进行传递,如果你是多个and的关系,可以使用
        # 数组的方式,否则你可以使用多个where方法来构造我们的where条件。
    }
}

?>