美文网首页laravel数据库
使用 Laravel-Administrator 快速生成数据模

使用 Laravel-Administrator 快速生成数据模

作者: 足迹人生2017 | 来源:发表于2018-07-17 10:29 被阅读7次

    原文:https://laravel-china.org/topics/2407/use-laravel-administrator-to-quickly-generate-data-model-administrator-tutorial

    说明

    不久前开源了团队内部 改良过的Administrator ,很多朋友在集成的时候遇到问题,这里写一个简单的教程,演示如何一步步集成 Administrator 到现有的项目中。

    Demo 代码:https://github.com/summerblue/administrator-demo

    准备

    假设有一套博客程序,博客程序有数据模型 UserTopic ,我们需要为这两个数据模型开启后台编辑功能。

    为了方便演示,做了一份 实例代码,可以跟着做,这个提交 2eb50160dd 的状态是已经创建好 UserTopic数据模型、迁移文件,并且有对应的 数据填充

    使用以下命令安装即可:

    1. composer install
    2. php artisan migrate
    3. php artisan db:seed

    简要步骤

    1. 安装 administrator;
    2. 配置;
    3. Model 配置信息。

    1. 安装 administrator

    composer require "summerblue/administrator:^1.0"
    
    file

    2. 配置

    1). 编辑 config/app.phpproviders 数组里面增加:

    'providers' => [
        Frozennode\Administrator\AdministratorServiceProvider::class,
    ]
    

    2). 执行以下命令生成 config 信息:

    php artisan vendor:publish
    

    3). 创建 Administrator 配置信息存放文件夹

    创建以下两个文件夹:

    1. config/administrator - 数据模型配置信息存放目录
    2. config/administrator/settings - 设置信息存放目录

    3. Model 配置信息

    1). administrator.php 文件夹中增加数据模型入口

    找到 menu 选项:

    'menu' => [
            '用户管理' => [
                'users' // 对应需要创建的文件:`config/administrator/users.php`
            ],
            '内容管理' => [
                'posts' // 对应需要创建的文件:`config/administrator/posts.php`
            ]
        ],
    

    为了方便演示,找到 permission 选项,retuen true,注意上线必须修改过来,这里是后台访问权限控制。

    'permission' => function () {
            // return Auth::check();
            return true;
        },
    

    如下图:


    file

    还有一个选项也是必填的,如下填入即可,这个选项是用来配置进入后台默认的页面:

        'home_page' => 'posts',
    

    2). 数据模型配置选项

    创建与模型对应的配置文件:

    • config/administrator/posts.php 内容见下面
    • config/administrator/users.php 篇幅原因,内容请见 GitHub 项目
    <?php
    
    use App\Post;
    
    return [
    
        'title' => '文章',
        'heading' => '文章管理',
        'single' => '文章',
        'model' => Post::class,
    
        'columns' => [
            'id' => [
                'title' => 'ID'
            ],
            'title' => [
                'title' => 'Title',
            ],
            'body' => [
                'title' => 'Content',
                'sortable' => false,
                'output' => function($value)
                {
                    return str_limit($value);
                },
            ],
            'user_name' => [
                'title' => "Author",
                'relationship' => 'user', //this is the name of the Eloquent relationship method!
                'select' => "(:table).name",
            ],
            'created_at',
    
            'operation' => [
                'title'  => '管理',
                'output' => function ($value, $model) {
                    return $value;
                },
                'sortable' => false,
            ],
        ],
    
        'edit_fields' => [
            'title' => [
                'title' => '标题',
                'type' => 'text'
            ],
            'body' => [
                'title' => '内容',
                'type' => 'textarea'
            ],
            'user' => array(
                'type' => 'relationship',
                'title' => 'Author',
                'name_field' => 'name',
            )
        ],
    
        'filters' => [
            'title' => [
                'title' => '标题',
            ]
        ],
    
    ];
    

    这时候访问后台:

    file

    一些信息

    • administrator 支持多语言,修改 config/app.php 的 'locale' => 'zh-CN' 可使用中文;
    • 文档就在项目的 docs 里,也可以 点击这里 查看, 实例文件 知道一看;
    • 想要灵活使用 administrator,文档 至少得多过几遍;
    • 想要查看更多的用例,PHPHub 的后台就是使用 administrator 构建,请参阅。

    本文章首发在 Laravel China 社区


    Practice makes perfect.

    相关文章

      网友评论

        本文标题:使用 Laravel-Administrator 快速生成数据模

        本文链接:https://www.haomeiwen.com/subject/horwpftx.html