Php Laravel-如何在where内的匿名函数中传递请求数据
因此,如果用户没有选择任何选项,我希望获取所有项目,否则根据请求数据查询项目。但是,我无法将Php Laravel-如何在where内的匿名函数中传递请求数据,php,laravel,request,eloquent,Php,Laravel,Request,Eloquent,因此,如果用户没有选择任何选项,我希望获取所有项目,否则根据请求数据查询项目。但是,我无法将$request传递给我的函数。这是我的密码: public function showProducts(Request $request) { $products = Product::all(); if(count($request->all()) != 0) { $products = Product::where(function
$request
传递给我的函数。这是我的密码:
public function showProducts(Request $request)
{
$products = Product::all();
if(count($request->all()) != 0) {
$products = Product::where(function($query) {
$minPrice = $request['min'] ? $request['min'] : null;
$maxPrice = $request['max'] ? $request['max'] : null;
$colors = $request['color'] ? $request['color'] : null;
$sizes = $request['size'] ? $request['size'] : null;
if($minPrice != null && $maxPrice != null) {
$query->where('price', '>=', $minPrice)->where('price', '<=', $maxPrice);
}
if($minPrice == null && $maxPrice == null && $colors == null && $sizes == null) {
}
})->get();
}
}
公共功能展示产品(请求$Request)
{
$products=Product::all();
如果(计数($request->all())!=0){
$products=产品::其中(函数($query){
$minPrice=$request['min']?$request['min']:null;
$maxPrice=$request['max']?$request['max']:null;
$colors=$request['color']?$request['color']:null;
$size=$request['size']?$request['size']:null;
如果($minPrice!=null&&$maxPrice!=null){
$query->where('price','>=',$minPrice)->where('price','您需要使用use
关键字从父范围传入参数:
$products = Product::where(function($query) use ($request) {
// $request is now available
现在,$request
在您的闭包中可用
请参见此处:您需要使用use
关键字从父范围传入参数:
$products = Product::where(function($query) use ($request) {
// $request is now available
现在,$request
在您的闭包中可用
请看这里:工作得像个符咒。不知道我必须用符咒来做。谢谢!工作得像个符咒。不知道我必须用符咒来做。谢谢!