从Laravel获取以偏移量开始的所有行

时间:2014-04-07 07:27:48

标签: php mysql laravel laravel-4

我需要帮助尝试获取满足WHERE子句提供的条件的所有行,从指定的OFFSET开始,没有指定的LIMIT,但我只得到一个空的结果。

我使用的代码是:

$places = Place::where('category', '=', $category)
    ->skip($padding)
    ->take(18446744073709551615)
    ->get();

return Response::json($places);

我根据this other question使用该参数作为take函数。

1 个答案:

答案 0 :(得分:0)

我已经测试了,好像数字太大你会得到一个错误。由于我不知道最大数量是多少,我建议您在数据库上运行一个额外的查询并具有以下内容:

$limit = Place::all()->count() - $padding;
$places = Place::where('category', '=', $category)
    ->skip($padding)
    ->take($limit)
    ->get();

return Response::json($places);

你也可以使用$limit = Place::all()->count(),它会正常工作。

注意:您还可以使用试用/错误方法找出要在TAKE中插入的正确值