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

被折叠的 条评论
为什么被折叠?



