tsfcorp /
Laravel 的列表库
v1.0.2
2024-09-05 08:14 UTC
Requires
- php: >=7.1
- laravel/framework: ^5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ~4.0
- phpunit/phpunit: ^8.0
README
轻松列出资源
安装
在您的 composer.json
文件中添加此包并更新 composer。运行以下命令
composer require tsfcorp/lister
更新 composer 后,服务提供程序将自动注册并启用,同时使用自动发现启用外观
下一步是运行 artisan 命令,将配置引入您的项目
php artisan vendor:publish --provider="TsfCorp\Lister\ListerServiceProvider"
更新 config/lister.php
使用说明
Lister
库可以添加到方法签名中,这样它将通过 DI 容器解析,或者可以像这样实例化
$lister = new Lister(request(), DB::connection());
查询设置必须以这种格式指定
$query_settings = [ 'fields' => "users.*", 'body' => "FROM users {filters}", 'filters' => [ "users.id IN (1,2,3)", "users.name LIKE '%{filter_name}%'", ], 'sortables' => [ 'name' => 'asc', ], // optional, you can pass a model reference and the records returned // will be of that type 'model' => User:class, ]; $listing = $lister->make($query_settings)->get();
{filters}
关键字必须在body
参数中指定,以便可以用指定的条件替换。filters
参数中的每个项目都将添加到WHERE
子句中。如果条件中有指定在大括号中的参数,我们将搜索请求中的该参数,并用找到的值替换参数。
如果使用记住的筛选器和查询字符串清理,则需要在使用的方法顶部添加此内容
if($redirect_url = $lister->getRedirectUrl()) return redirect($redirect_url);