when的多条件查询

本文详细介绍了在Laravel中使用`when`查询构造器进行条件查询的方法。通过示例代码展示了如何根据传入的参数动态添加查询条件,如分类ID、状态和关键词搜索,以便更灵活地构建数据检索。这种技术在处理动态过滤和分页时非常有用。

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

when的条件查询格式:

>when($A,function ($string)use($B){
      return $string->where('id',"$B");

}

when中第一个参数$A用来判断$A是否存在,不存在直接return退出查询,存在则走function

function中的第一个参数string代表的是你的查询整体,命名随意($strlen,$inter,$abc等等) 

use中是你需要代入的查询条件

举个栗子:

    public function classification(Request $request){
        #每页条数
        $size = 100;
        #当前页
        $page = 1;
        #分类id
        $kind_id = $request->get('kind_id');
        #分类状态
        $kind_status = $request->get('kind_status');
        #keywords需要检索的钥
        $keywords = $request->get('keywords');
        $info = recursiveCategory(Kinds::with('image')
            ->when($kind_id,function ($string)use($kind_id){
                return $string->where('id',"$kind_id");
            })->when($kind_status,function ($string)use($kind_status){
                return $string->where('kind_status',$kind_status);
            })->when($keywords,function ($string)use($keywords){
                return $string->where('kind_name','like',"$keywords%");
            })->offset(($page-1)*$size))->limit($size)->get();
        return succeed(['kindInfo' => $info],'分类展示成功');
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值