$products = Product::search($keyword)->get(); //this return 20 items
但是我数了一下,有56件
$products = Product::search($keyword)->count(); //this return 56
我尝试通过使用 paginate() 方法并以大量数字作为参数来获取所有结果。然而,由于性能问题,这似乎是不可能的,而且数量可能会波动很大。
$products = Product::search($keyword)->paginate(1000000); //this is bad practice
在 Laravel Scout 中搜索时如何检索所有项目?
对于需要全部结果且总条数不是很大的场景,可以根据结果条数动态设置分页。 但是,请谨慎使用这种方法,因为它对性能有潜在影响:
$totalCount = Product::search($keyword)->count();
$products = Product::search($keyword)->paginate($totalCount);