TP5查询构建器-基础

插入:
单条:
$data = ['foo' => 'bar', 'bar' => 'foo'];

Db::table('think_user')->insert($data);

$userId = Db::name('user')->getLastInsID();//如果是id 是自增长可以获取最后id

多条:
data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
ps: insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1 (可做成功的判断)

更新:
$is_update = Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
$is_update !== false && return true;
ps:update 方法返回影响数据的条数,没修改任何数据返回 0
删除:
根据主键删除
Db::table('think_user')->delete(1);
Db::table('think_user')->delete([1,2,3]);

条件删除    
Db::table('think_user')->where('id',1)->delete();
Db::table('think_user')->where('id','<',10)->delete();

delete 方法返回影响数据的条数,没有删除返回 0

查询:
tp5查询构造器(DB类)
查一条记录:
where();

Db::table('think_user')->where('id','='1)->find(); // 数组法 where(['id'=>'1']);
Db::table('think_user')->where('id','!=',1)->select();
whereOr();
配模糊查询

Db::table('think_user')
    ->where('name','like','%thinkphp')
    ->whereOr('title','like','%thinkphp')
    ->find();

对多个字段用相同的字符串查询
Db::table('think_user')

    ->where('name|title','like','%thinkphp') // | & 可互换

 ->find();

where() 方法的查询表达式

比较:  = <> > < >= <= 

between

where('id','between','1,8');

in

where('id','not in','1,5,8'); 查询id为1或5或8的记录

null
where('title','null'); 查询title 为null的记录

where('name','not null');查询name not null的记录

查询构造器之根据条件构造(可用于开发多字段搜索);
$user = Db::table('think_user');
if(condition1) {
$user->where();
}
if(condition2){
$user->where();
}
$user ->select();

ps: 0,find和select方法之前返回的都是Query对象
1,find和select方法返回的都是数组 
2,未设置表前缀用table()反之用name();
查询构造器之链式操作


$user = Db::table('think_user')->where()

$user = Db::table('think_user');
if(condition1) {
$user->where();
}
if(condition2){
$user->where();
}
$user ->select();

ps: 0,find和select方法之前返回的都是Query对象
1,find和select方法返回的都是数组 
2,未设置表前缀用table()反之用name();
查询构造器之链式操作
$user = Db::table('think_user')->where()
->where() ->order() ->select();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值