0

我需要删除分页并将所有内容都保留在一页上,但是我这样做只会产生BUG。我想知道为什么注释代码的片段不能删除分页。

if ($minParam || $maxParam) {
  $products = Product::whereHas('sizes', function ($query) use ($minParam, $maxParam) {
    if ($minParam && $maxParam) {
      $query->whereBetween('max_capacity', [$minParam, $maxParam]);
    } elseif ($minParam) {
      $query->where('max_capacity', '>=', $minParam);
    } else {
      $query->where('max_capacity', '<=', $maxParam);
    }
  })
    ->whereHas('solutions', function ($query) use ($solution_id) {
      $query->whereIn('solution_id', $solution_id);
    })
    ->where('active', 1)
    ->orderBy('position', 'ASC')
    ->get();
  //->paginate(16);
} else {
  $products = Product::whereHas('solutions', function ($query) use ($solution_id) {
    $query->whereIn('solution_id', $solution_id);
  })
    ->where('active', 1)
    ->orderBy('position', 'ASC')
    ->get();
  //->paginate(16);
}
return view('solutions.show')->with(compact('solutions', 'solution', 'products', 'ranges'));

} }

用get()替换后的bug

ErrorException (E_ERROR) 方法 Illuminate\Database\Eloquent\Collection::links 不存在。(查看:/app/server/resources/views/solutions/show.blade.php)以前的异常方法 Illuminate\Database\Eloquent\Collection::links 不存在。

4

1 回答 1

0

尝试在所有代码中更改->paginate(16)为:->get()

    whereHas('sizes', function($query)  use($minParam, $maxParam) {
         if($minParam && $maxParam) {
             $query->whereBetween('max_capacity', [$minParam, $maxParam]);
         } elseif($minParam) {
             $query->where('max_capacity', '>=', $minParam);
         } else {
             $query->where('max_capacity', '<=', $maxParam);
         }
     })->
    
    if ($minParam || $maxParam) {
      $products = Product::whereHas('sizes', function ($query) use ($minParam, $maxParam) {
        if ($minParam && $maxParam) {
          $query->whereBetween('max_capacity', [$minParam, $maxParam]);
        } elseif ($minParam) {
          $query->where('max_capacity', '>=', $minParam);
        } else {
          $query->where('max_capacity', '<=', $maxParam);
        }
      })
        ->whereHas('solutions', function ($query) use ($solution_id) {
          $query->whereIn('solution_id', $solution_id);
        })
        ->where('active', 1)
        ->orderBy('position', 'ASC')
        ->get();
    } else {
      $products = Product::whereHas('solutions', function ($query) use ($solution_id) {
        $query->whereIn('solution_id', $solution_id);
      })
        ->where('active', 1)
        ->orderBy('position', 'ASC')
        ->get();

 /*$products = Product::whereHas('solutions', function ($query) use ($solution_id) {
    $query->whereIn('solution_id', $solution_id);
  })
    ->where('active', 1)
    ->orderBy('position', 'ASC');*/
    
      return view('solutions.show')->with(compact('solutions', 'solution', 'products', 'ranges'));
    
    }
于 2020-10-23T13:03:06.427 回答