laravel-admin快速搭建后台管理系统

当我们对前端的知识不够了解的时候,做一个laravel后台管理系统的页面是比较费劲。你可以去download一些模板,但是很多时候都需要自己大量修改视图文件,这样子的效率会比较低下。

最近接触了一款高效搭建后台管理系统的扩展laravel-admin,能够帮你在短时间内搭建起简单的管理系统。

起步

在完成laravel的安装配置后

1
sudo composer require encore/laravel-admin "1.4.*"

接下来配置,在config/app.php加入provider数组

1
Encore\Admin\Providers\AdminServiceProvider::class

运行

1
2
sudo php artisan vendor:publish --tag=laravel-admin
sudo php artisan admin:install

以上指令生成了数据库文件,以及后台管理模块(app/admin)

如果要快速搭建后台管理,首先在设计好的数据库上,处理好model的关系,在model写好关联数据的函数,具体参照laravel官方文档,laravel-admin的curd基于model。

生成对应model的controller:

1
sudo php artisan admin:make xxxController --model=APP\\Xxxx

在app/Admin/routes.php添加对应路由:

1
$router->resource('xxx',xxxController::class)

后台管理系统路由文件routes.php,可在此添加对应接口供后台管理系统调用。

基本配置完成。

grid & form

在生成controller后,grid和form两个模块能够帮我们快速搭建起可以增删查改的页面。

grid

grid负责查、删两个功能。要生成了相关model的表格,我们可以使用:

1
2
3
$grid->column('$数据库字段名','$你想显示的名称');
//or
$grid->xxx('要显示的名称');

如果要存的是url,要显示图片:

1
2
$grid->xxx('xxx','xxx')->image('$url',$height,$width);
//$url为前缀,可为空,空即默认为admin.conf所填写的host

如果需要在显示上增加逻辑,我们可以使用闭包函数:

1
2
3
4
$grid->xxx('xxx')->display(function($xxx){
//your code
//return your result
});

也可以return代码,都能正常解析。

filter

filter这一方法能够筛选数据,相当于where:

1
2
3
4
5
$grid->filter(function($filter){
$filer->is('数据库字段名','value');
$filet->like('xxx','xxx');
...
});

form

form负责增、改两个功能,要生成表单,我们可以:

1
2
3
4
5
6
7
$form->text('xxx');//文本框
$form->textarea('xxx');//文本域
$form->image('xxx');//图片
->move('url');//移动图片到...
$form->multipleImage('xxx');//多图上传
$form->file('xxx');//文件上传
//mysql存入文件/图片url时,字段类型可为text或json,需要在model里面设置属性

参考文档链接

github