laravel - 数据操作(查询构建器)

本文介绍了一种通过构造复杂查询来高效操作数据库的方法,包括条件筛选、字段选择、分组排序、连接附加等功能,以及增删改查等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 条件筛选:

where('filed', '>=<', 'value') // 单个条件

where(['filed_1' => 'value', 'filed_2' => 'value'])// 多个条件

orWhere('filed', 'value')

whereBetween('filed', [0, 100]) // 区间

whereNotBetween(参数同上)

whereIn('filed', [1,2,3]) // 指定集合范围

whereNotIn(参数同上)

whereNull('filed') // NULL


# 指定字段:

select('filed_1', "filed_2) // 指定要获取的字段,也可以使用 addSelect('filed') 添加要获取的字段


# 分组排序:

groupBy('filed') // 按字段分组

orderBy('field') // 按字段排序,一个以上可以再加一个 ->orderBy('...')

having('filed', '>=<', 'value')

haveingRow('SUM("price") > 200')


# 连接附加:

join('table_2', 'table1_字段', '比较条件 >=<', 'table2_字段')

leftJoin(参数同上...)

join('contacts', function ($join) {
$join->on('users.id', '=', 'contacts.user_id')->orOn(...);
})

union(DB::table('xxx')-> ... ); // 附加查询

distinct() // 排除重复

skip(10) // 跳过

take(20) // 条数

sharedLock() // 共享锁(可读不可改)

lockForUpdate() // 避免其它共享锁修改


# 操作类型 (增删改查):

get() // 获取符合条件的所有

insert(['filed' => 'value']) // 插入数据

update(['filed' => 'value']) // 更新数据

delete() // 删除

truncate() // 清空表

increment('filed', 5) // 自增,第二个参数可省略

decrement('filed',5) // 自减,第二个参数可省略


# 数据返回格式 (默认为对象)

toArray() // 转为数组

toJson() // 转为Json


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值