数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

数据库-ORM操作,依赖\x\Db组件实现。

where():用于构造SQL执行条件,该语法实现了三种场景支持。

场景一:多条件数组查询

例如:

$where = [
    ['id' , '<>' , 1],
    ['money', '>=', 100],
    ['name', 'like', '%小黄牛%'],
];
$Db = new \x\Db();
$Db->name('user')->where($where);

最终生成的SQL语句类似于:

FROM sw_user WHERE id <> 1 AND money >= 100 AND name like '%小黄牛%';

场景二:多条件多链查询

例如:

$where = [
    ['id' , '<>' , 1],
    ['money', '>=', 100],
    ['name', 'like', '%小黄牛%'],
];
$Db = new \x\Db();
$Db->name('user')->where('id' , '<>' , 1)->where('money', '>=', 100)->where($where);

最终生成的SQL语句类似于:

FROM sw_user WHERE id <> 1 AND money >= 100 AND name like '%小黄牛%';

场景三:便捷等于查询

例如:

$Db = new \x\Db();
$Db->name('user')->where('id', 1)->where('name', '小黄牛');

最终生成的SQL语句类似于:

FROM sw_user WHERE id=1 AND name='小黄牛';

场景四:批量组合查询

例如:

$where = [
    ['id' , '<>' , 1],
    ['name', 'like', '%小黄牛%'],
    'money >= 100',
];
$Db = new \x\Db();
$Db->name('user')->where('id' , '<>' , 1)->where('money', '>=', 100)->where($where);

最终生成的SQL语句类似于:

FROM sw_user WHERE id <> 1 AND money >= 100 AND name like '%小黄牛%';

注意:where()链在一条SQL语句中是可以多次使用的,其执行顺序是先进先执行,相同的语句并不会覆盖,所以使用的时候需要自己注意下。

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录