brainboxlabs/persist-query

此包的最新版本(1.0.0)没有可用的许可信息。

在 Laravel 控制器中持久化请求查询参数

1.0.0 2023-05-23 19:19 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:55:49 UTC


README

在 Laravel 控制器中持久化请求查询参数。

使用场景

假设你运行一个书店网站,有两个页面:/home/books/books 页面列出你存储在数据库中的所有书籍,并允许用户通过名称和作者过滤书籍。假设一个用户在书籍列表页面 /books?name=invisible&author=Mark 应用了以下过滤器。在离开此页面后,例如转到 /home 然后返回 /books,应用的过滤器将会丢失。此包允许用户在返回到 /books 后继续之前的状态,通过将页面恢复到最后已知的状态 /books?name=invisible&author=Mark

安装

composer require brainboxlabs/persist-query

将 Persist Query 添加到 Laravel 控制器

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class BookController extends Controller 
{ 

    public function __construct() 
    { 
    	$this->middleware('persist-query:index');
    } 
 
    public function index(Request $request) 
    { 
    	// ...
    } 
}

应该使用 persist-query:action_name,another_action_name,... 中间件与 GET 控制器动作一起使用。