Laravel - 手动分页 'option' 查询参数有什么作用?
Laravel - what does the manual paginations 'option' query parameter do?
我在谷歌搜索时发现的手动分页工作正常,但我只是想知道选项参数中的 'query' => $request->query()
有什么作用?
$total = count($form_list);
$per_page = 10;
$current_page = $request->input('page') ?? 1;
$starting_point = ($current_page * $per_page) - $per_page;
$form_list = array_slice($form_list, $starting_point, $per_page, true);
$form_list = new Paginator($form_list, $total, $per_page, $current_page, [
'path' => $request->url(),
'query' => $request->query(),
]);
不带任何参数调用 ->query()
returns 查询字符串中的所有值作为关联数组。
假设您有这样的查询字符串:
https://example.com/path/to/page?name=ferret&color=purple
您可以通过如下方式检索 name
的值:
$request->query('name')
其中 returns ferret
。您还可以传递第二个参数作为默认值,因此如果您调用:
$request->query('size', 'Medium')
查询字符串中不存在,您将得到 'Medium' 而不是 null
。
如果省略所有参数,您将收到一个如下所示的关联数组:
query = [
'name' => 'ferret',
'color' => 'purple',
]
分页本身不需要 options 参数,但您的数据集查询需要。如果你没有传递 query
参数,当你点击其中一个分页 url 时,你会得到这样的东西:
https://example.com/path/to/page?page=2&per_page=5
有时,这工作得很好,会给我们想要的东西,但有时,我们需要那些额外的查询字符串来获得正确的数据集。我们传入查询中的所有值以获得如下内容:
https://example.com/path/to/page?page=2&per_page=5&name=ferret&color=purple
这将过滤所有那些紫色雪貂的数据集。至于您是否需要它的问题,由您决定这对您的代码是否必不可少,或者您是否可以只使用分页。
祝你好运!希望对您有所帮助。
我在谷歌搜索时发现的手动分页工作正常,但我只是想知道选项参数中的 'query' => $request->query()
有什么作用?
$total = count($form_list);
$per_page = 10;
$current_page = $request->input('page') ?? 1;
$starting_point = ($current_page * $per_page) - $per_page;
$form_list = array_slice($form_list, $starting_point, $per_page, true);
$form_list = new Paginator($form_list, $total, $per_page, $current_page, [
'path' => $request->url(),
'query' => $request->query(),
]);
不带任何参数调用 ->query()
returns 查询字符串中的所有值作为关联数组。
假设您有这样的查询字符串:
https://example.com/path/to/page?name=ferret&color=purple
您可以通过如下方式检索 name
的值:
$request->query('name')
其中 returns ferret
。您还可以传递第二个参数作为默认值,因此如果您调用:
$request->query('size', 'Medium')
查询字符串中不存在,您将得到 'Medium' 而不是 null
。
如果省略所有参数,您将收到一个如下所示的关联数组:
query = [
'name' => 'ferret',
'color' => 'purple',
]
分页本身不需要 options 参数,但您的数据集查询需要。如果你没有传递 query
参数,当你点击其中一个分页 url 时,你会得到这样的东西:
https://example.com/path/to/page?page=2&per_page=5
有时,这工作得很好,会给我们想要的东西,但有时,我们需要那些额外的查询字符串来获得正确的数据集。我们传入查询中的所有值以获得如下内容:
https://example.com/path/to/page?page=2&per_page=5&name=ferret&color=purple
这将过滤所有那些紫色雪貂的数据集。至于您是否需要它的问题,由您决定这对您的代码是否必不可少,或者您是否可以只使用分页。
祝你好运!希望对您有所帮助。