拉拉维尔雄辩跳过n,全部拿走?
我注意到,在Laravel中,当链接时,你也必须使用。我想跳过前n行,但采取其余的。take方法只允许整数,我怎么能做到这一点,而不诉诸一些黑客技巧,例如指定一个大数字来采取?skip()
take()
我注意到,在Laravel中,当链接时,你也必须使用。我想跳过前n行,但采取其余的。take方法只允许整数,我怎么能做到这一点,而不诉诸一些黑客技巧,例如指定一个大数字来采取?skip()
take()
基本上,对于每个偏移量,必须提供限制才能使mysql正常工作。因此,如果不明确限制,就无法做到这一点。我们需要一些php mojo来在这里工作。
假设我们有一个名为 的雄辩类。以下是应该有效的方法:Attendance
//Getting count
$count = Attendance::count();
$skip = 5;
$limit = $count - $skip; // the limit
$collection = Attendance::skip($skip)->take($limit)->get();
如果您使用的是MySQL,并且不希望有2个查询来获取最大行数,则可以使用PHP最大INT值作为参数,例如。take()
take(PHP_INT_MAX)
这是因为 Laravel Query Grammar 将限制转换为整数。因此,您不能使用比这更大的数字。
若要检索从特定偏移量到结果集末尾的所有行,可以为第二个参数使用一些较大的数字。
例如:
\App\User::skip(10)->take(PHP_INT_MAX)->get();