介绍laravel-admin后台
laravel-admin是一个可以快速构建管理后台的开源框架,基于Laravel(一个大受欢迎的PHP框架)开发,提供了许多常见业务场景中所需要的功能,例如表格,表单,图表等,开发者可以通过样式定制和插件广场来完整实现自己的需求。
1. 安装laravel-admin
可以通过如下命令安装laravel-admin:
composer require encore/laravel-admin
之后会生成一个`config/admin.php`的配置文件,需要在`.env`文件中增加`APP_KEY`,如下所示:
php artisan key:generate
在`config/app.php`文件中,需要添加laravel-admin的服务提供者,和`aliases`:
'providers' => [
// ...
Encore\Admin\AdminServiceProvider::class,
// ...
],
'aliases' => [
//...
'Admin' => Encore\Admin\Facades\Admin::class,
//...
],
2. 创建一个控制器
使用`php artisan make:controller`创建一个控制器,例如`UserController`,增加一个方法`index`:
namespace App\Admin\Controllers;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Layout\Content;
class UserController extends AdminController
{
public function index(Content $content)
{
return $content
->header('User')
->description('User')
->body('hello world');
}
}
3. 注册路由
在`app\Admin`文件夹中创建一个名为`routes.php`的文件,增加如下路由代码:
Route::get('user', 'UserController@index');
使用`php artisan serve`启动laravel服务后,在浏览器中输入`http://127.0.0.1:8000/admin/user`即可看到`hello world`。
4. 集成datatables
laravel-admin使用了PHPDatatables,提供了常见的功能,例如排序,分页,自定义字段等。
使用以下命令安装:
composer require yajra/laravel-datatables-oracle
在控制器中,使用如下代码集成datatables:
public function index(Content $content)
{
return $content
->header('User')
->description('User')
->body($this->grid());
}
protected function grid()
{
$grid = new Grid(new User);
$grid->column('id', 'ID')->sortable();
$grid->column('name', 'Name');
$grid->column('email', 'Email');
$grid->column('created_at', 'Created At');
$grid->column('updated_at', 'Updated At');
return $grid;
}
使用`$grid`,我们可以更方便地自定义显示的字段和表格中的数据。
5. 为表格添加筛选器
laravel-admin提供了许多默认的筛选器,包括`equal`,`notEqual`,`like`,`in`等,使用如下方法添加筛选器:
$grid->filter(function ($filter) {
// 设置created_at字段的范围查询
$filter->between('created_at', 'Created Time')->datetime();
});
6. 筛选器中设置默认查询日期
默认情况下,筛选器将显示当前月的所有记录,如果需要更改默认日期,可以通过设置`presets`选项来实现。
以下代码将默认值设置为30天前到当前时间:
$filter->between('created_at', 'Created Time')->datetime()->default([
'start' => Carbon::now()->subDays(30)->startOfDay(),
'end' => Carbon::now()->endOfDay(),
]);
以上就是laravel-admin后台表格筛选设置默认的查询日期方法的介绍,希望对大家有所帮助。