Laravel分页处理控制器或视图



这是关于 laravel 5.5 上的分页函数 当我使用 $request_all=$request->all() 从数据库获取巨大的数据时

哪个对服务器加载更好

  1. 在控制器上处理 $request_all 然后将所选数据传输到"视图"页面 就像return View('show) ->with('name', $request_all['name']);

2.只需将$request_all发送到查看页面 就像 返回视图('显示) ->with('request_all', $request_all);

当我使用分页功能时

public function index()
{
$products = DB::table('product')->paginate(15);
return view('index', ['products' => $products]);
}

缓存或会话是在服务器计算机还是用户计算机上?

(1) 当用户读取第1页时,服务器上等待的另一页是否占用了服务器的内存? (2)或者当用户发布请求时,所有页面都会立即发送到用户机器的内存中。

如果数据如此之大,机器会耗尽内存吗?

好的,

所以首先Laravel Session

会话令牌是生成并从服务器发送到客户端的唯一标识符,用于标识当前交互会话。客户端通常将令牌存储并作为HTTP cookie发送,和/或将其作为GETPOST查询中的参数发送。 会话提供了一种跨多个请求存储有关用户信息的方法。

在拉拉维尔中,要访问会话数据,

$value = $request->session()->get('key'); //which will take one argument, here “key”

存储您可以使用的会话数据,

$request->session()->put('key', 'value'); //two arguments

要在项目中实现会话,您可以使用此 laravel 文档 Laravel会话。

其次是拉拉维尔分页功能

Laravel的分页器与查询构建器和Eloquent ORM集成在一起,并提供方便,易于使用的数据库结果分页。 在 laravel 中用于分页的函数是带有模型的paginate()函数。

$users = AppUser::paginate(15);

此函数仅从数据库中检索15 个项目。之后,您必须管理上一页和下一页的链接以及其他带有数字的链接。 在链接中,您必须传递另一个页码的数据,就像您显示第一页一样,然后您必须在下一个按钮链接中给出第二页码。 然后,如果您单击下一个链接,您将获得页面的另外15 项。这就是拉拉维尔分页的工作原理。 有关实现拉拉维尔分页的更多有用内容,请单击链接拉拉维尔分页。

谢谢。

最新更新