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

安装

  1. 下载扩展包
composer require encore/laravel-admin
  1. 发布资源
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',
 ],