Laravel-admin 使用记录

学习 L02课程,Laravel Administrator管理后台问题实在太多,改用laravel-admin作为管理后台。使用感受:laravel-admin真是超级容易上手,快捷简单易用。
下文用例主机域名使用http://larabbs.test,实际使用需替换成你自己的主机域名。

安装

  1. 下载扩展包
    composer require encore/laravel-admin
  2. 发布资源
    php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

    该命令生成 config/admin.php,可以修改里面的配置(建议使用默认配置不修改)。

  3. 完成安装
    php artisan admin:install

    安装过程中,会自动执行数据库迁移,生成管理后台所需的数据表。安装完成后,在浏览器打开:http://larabbs.test/admin/ ,使用用户名 admin 和密码 admin登录。

生成控制器

使用下面命令生成模型对应的控制器,这里为 App\Models\User 生成控制器(若在windows系统下操作,\\ 改为 \)。

php artisan admin:make UserController --model=App\\Models\\User

上面的命令会创建路由器文件 app/Admin/Controllers/UserController.php

添加路由配置

在路由配置文件 app/Admin/routes.php 中添加如下代码:

.
.
.
function (Router $router) {
    $router->get('/', 'HomeController@index');
    $router->resource('users', UserController::class); //新添加的
});
.
.
.

添加左侧菜单栏链接

浏览器打开 http://larabbs.test/admin/auth/menu,在新增一栏填写如下信息:
file
访问地址 http://larabbs.test/admin/users,即可看到默认样式的用户列表。
file

使用上述同样的方法可以依次创建Topic Reply Category等控制器。

表格调整

  • User表格,头像显示
    grid函数中添加:
    $grid->column('avatar')->display(function($avatar) {
    return "<img src='" . $avatar . "' width='100px height='100px'/>";
    });
  • Topic表格用户名、分类名
    grid函数中添加:
    $grid->user()->name('User Name');
    $grid->category()->name('Category Name');

    遇到的报错

  • Config Error
    Config error.
    Disk [admin] not configured, please add a disk config in `config/filesystems.php`.

    解决方法是在config/filesystems.phpdisk配置中添加如下代码:

    'admin' => [
        'driver' => 'local',
        'root' => public_path('uploads'),
        'visibility' => 'public',
        'url' => env('APP_URL').'/uploads',
    ],
本作品采用《CC 协议》,转载必须注明作者和本文链接
Was mich nicht umbringt, macht mich stärker
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

看了下文档,显示图片还可以这样:😀
$grid->avatar('头像')->image(env('APP_URL'), 50, 50);

5年前 评论

@hustnzj 感谢分享!我找不到好的方法,就用了笨的方法:smile:

5年前 评论

@tsin 你使用的方式是不正确的,默认是将图片存储在storage里面,public目录只是软连接。

4年前 评论

file
这个怎么放到外面的啊?

4年前 评论
Mr_Xu 4年前

@W_957 啥情况?

4年前 评论
W_957 4年前

我有做了一个类似的开源项目

LaravelAdmin

www.laraveladmin.cn/ LaravelAdmin,LaravelAdmin官网,LaravelAdmin单页面应用,LaravelAdmin前后端分离,Laravel后台管理系统

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!