我注意到在 Laravel 中链接 skip() 时,您还必须使用 take() .我想跳过前 n 行但剩下的.take 方法只允许整数,我怎么能做到这一点而不诉诸一些技巧,例如为 take 指定一个大数字?
I've noticed that in Laravel when chaining a skip() you must also use take() as well. I want to skip the first n rows but take the rest. The take method only allows integers how can I do this without resorting to some hacky trick such as specifying a large number for take?
基本上,对于每个 OFFSET,必须为 mysql 提供一个 LIMIT 才能工作.因此,如果不指定限制,就无法做到这一点.我们需要一些 php mojo 才能在这里工作.
Basically, with every OFFSET, a LIMIT must be supplied for mysql to work. Therefore, there is no way to do this without sepcifying a limit. We need some php mojo to work here.
假设我们有一个名为 Attendance 的 Eloquent 类.以下是应该可行的:
Let's say we have an Eloquent Class named Attendance. Here's what should work:
//Getting count
$count = Attendance::count();
$skip = 5;
$limit = $count - $skip; // the limit
$collection = Attendance::skip($skip)->take($limit)->get();
这篇关于Laravel Eloquent 跳过 n,通吃?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
PHP、MySQL PDOException 的死锁异常代码?Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死锁异常代码?)
PHP PDO MySQL 可滚动游标不起作用PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滚动游标不起作用)
PHP PDO ODBC 连接PHP PDO ODBC connection(PHP PDO ODBC 连接)
使用 PDO::FETCH_CLASS 和魔术方法Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔术方法)
php pdo 只从 mysql 获取一个值;等于变量的值php pdo get only one value from mysql; value that equals to variable(php pdo 只从 mysql 获取一个值;等于变量的值)
MSSQL PDO 找不到驱动程序MSSQL PDO could not find driver(MSSQL PDO 找不到驱动程序)