Mysql Laravel 5.1 DB::Restful API和Angular.JS的表块

Mysql Laravel 5.1 DB::Restful API和Angular.JS的表块,mysql,angularjs,laravel-5.1,angularjs-1.5,Mysql,Angularjs,Laravel 5.1,Angularjs 1.5,有没有办法在Restful API调用中分割数百万条记录 我在客户端使用Angular.JS/Ionic,并且有一个restful API,它可以很好地处理大约10000条记录。但我的数据库有几百万条记录,如果我调用api来显示所有记录,它将返回http响应代码500。我希望提取所有数据的原因是,用户可以使用ng model=“query”搜索匹配的产品。在客户端上,仅显示100条精心挑选的记录。我查看了Laravel文档,它建议将数据分块。我尝试了以下代码,但得到了500 http响应代码错误

有没有办法在Restful API调用中分割数百万条记录

我在客户端使用Angular.JS/Ionic,并且有一个restful API,它可以很好地处理大约10000条记录。但我的数据库有几百万条记录,如果我调用api来显示所有记录,它将返回http响应代码500。我希望提取所有数据的原因是,用户可以使用ng model=“query”搜索匹配的产品。在客户端上,仅显示100条精心挑选的记录。我查看了Laravel文档,它建议将数据分块。我尝试了以下代码,但得到了500 http响应代码错误。我使用mysql作为数据库。最终我将构建一个redis缓存,但首先我需要能够获取所有结果

$productlist=DB::table('productlist')->区块(1000,$products){ foreach($products as$product){


为什么不使用分页?将查询发送到服务器并获取筛选结果,而不是获取所有结果,然后在客户端执行筛选,这是一种很好的做法。@Amit-当用户的意图是搜索时,想想移动设备上的分页用户体验。我使用过的大多数移动应用程序都没有用户分页。他们在搜索时执行自动完成。挑战在于API提供了所有可供搜索的结果。我可能错了,但我不会想象其他应用程序一次性完成所有10000行(或任何数字)。很可能他们发送一个子集,然后在scroll中实现某种延迟加载(哪种分页方式比较合适)。此外,对数据进行分块并发送不会得到您希望的结果。同样,这是分页的一个很好的用例(只是使用了稍微不同的方式)。为什么不使用分页?将查询发送到服务器并获取筛选结果,而不是获取所有结果,然后在客户端执行筛选,这是一种很好的做法。@Amit-当用户的意图是搜索时,想想移动设备上的分页用户体验。我使用过的大多数移动应用程序都没有用户分页。他们在搜索时执行自动完成。挑战在于API提供了所有可供搜索的结果。我可能错了,但我不会想象其他应用程序一次性完成所有10000行(或任何数字)。很可能他们发送一个子集,然后在scroll中实现某种延迟加载(哪种分页方式比较合适)。此外,对数据进行分块并发送不会得到您希望的结果。同样,这将是分页的一个很好的用例(只是使用了稍微不同的方式)。
    $productlist = array_merge($products, $product);
    }
    });     

 return $productlist;