使用laravel-admin快速构建后台管理系统

2019年7月17日 1 条评论 1.07k 次阅读 4 人点赞

一、在安装laravel-admin前的一些准备

  • 安装好laravel框架,并且能够访问
  • laravel的.env数据库连接配置正确
  • 环境需求:PHP7.0+
  • 本篇文章是演示laravel-admin V1.5版本,如果需要以前版本请前往官方网站进行查阅文档

二、安装laravel-admin

composer require encore/laravel-admin

然后运行下面的命令来发布资源:

php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。

然后运行下面的命令完成安装:

php artisan admin:install

这里安装方法做个简略的介绍即可,laravel-admin的官网有很完整的安装文档,需要查看的童鞋可以点此跳转:http://laravel-admin.org/docs/zh

三、创建迁移文件和建立数据模型

1、生成迁移文件,新建一个test表

php artisan make:migration create_tests_table --create=tests

在database下找到migrations文件夹下的{time}create_tests_table.php,在里边写入一些字段

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTestsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tests', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name')->comment('姓名');
            $table->unsignedInteger('sex')->default(0)->comment('性别');
            $table->unsignedInteger('age')->comment('年龄');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('tests');
    }
}

然后运行迁移

php artisan migrate

打开数据库查看数据表是否创建成功:

成功后数据库是有tests表的

2、新建一个数据模型

php artisan make:model Test

然后就会在我们的App目录下新建一个Test.php的模型文件

3、新建一个后台控制器

//其他系统
php artisan admin:make TestController --model=App\\Test

// 在windows系统中
php artisan admin:make TestController --model=App\Test

创建成功后如图:

成功创建admin控制器后的截图

可以看到他上面已经告诉我们需要添加一条资源路由到admin下的routes.php路由文件中去了

打开App下Admin下的routes.php文件,修改如下:

<?php

use Illuminate\Routing\Router;

Admin::routes();

Route::group([
    'prefix'        => config('admin.route.prefix'),
    'namespace'     => config('admin.route.namespace'),
    'middleware'    => config('admin.route.middleware'),
], function (Router $router) {

    $router->get('/', 'HomeController@index')->name('admin.home');
    $router->resource('tests', TestController::class);
});

4、修改admin的Test控制器文件如下:

<?php

namespace App\Admin\Controllers;

use App\Test;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;

class TestController extends AdminController
{
    /**
     * 子标题
     *
     * @var string
     */
    protected $title = 'Test字段管理';

    /**
     * 构造表格
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new Test);

        $grid->column('id', __('id'));
        $grid->column('name', __('姓名'));
        $grid->column('sex', __('性别'));
        $grid->column('age', __('年龄'));
        $grid->column('created_at', __('创建时间'));
        $grid->column('updated_at', __('更新时间'));

        return $grid;
    }

    /**
     * 描述
     *
     * @param mixed $id
     * @return Show
     */
    protected function detail($id)
    {
        $show = new Show(Test::findOrFail($id));

        $show->field('id', __('id'));
        $show->field('name', __('姓名'));
        $show->field('sex', __('性别'));
        $show->field('age', __('年龄'));
        $show->field('created_at', __('创建时间'));
        $show->field('updated_at', __('更新时间'));

        return $show;
    }

    /**
     * 构造表单
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new Test);

        $form->text('name', __('姓名'));
        $form->number('sex', __('性别'));
        $form->number('age', __('年龄'));

        return $form;
    }
}

5、打开laravel-admin的管理后台,地址默认为你的laravel项目的地址后加上/admin,会自动跳转到登录界面,如图:

laravel-admin的登录界面

账号密码默认都为:admin

登录上去界面如图:

laravel-admin后台界面

然后点击如图所示的按钮,点击menu按钮跳转到后台菜单设置界面:

点击示意

然后添加一个菜单,具体填写如图:

添加菜单界面

这里的URL最为重要,这里的URL默认前缀都为admin,但是admin不用写进去,填写tests就可以了,我平时都是根据admin的路由表来写这个路由的,如果不是很明白可以去官网查看文档中的解释。填写完毕后点击提交按钮,然后刷新一下页面就可以看到左边菜单栏多了个我们刚刚添加的按钮了,点击打开如下图:

添加管理成功界面

添加完成了我们测试一下增删改是否存在问题:

新增:

修改:

删除:

到这里,那么test这个表的增删改查在后台就可以进行操作了,还有很多的功能,可以根据laravel-admin的文档来自己研究,这就是快速搭建管理后台的一个小方法吧,希望大家能够有所收获!

梁桂锋

来自西京学院大三的小开发者。

文章评论(1)

  • 想和你在一起

    想和你在一起

    2019年10月7日