laravel-admin基本使用
如何用这个去做实现后台简单功能。
【1】laravel-admin的安装
https://laravel-admin.org/docs/zh/1.x/installation#生成的文件
1.首先我们要确保已经安装了laravel 我使用的是laravel7版本的
composer require encore/laravel-admin:1.*
2.然后运行下面的命令来发布资源:
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
在该命令会生成配置文件config/admin.php
,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。
3.然后运行下面的命令完成安装:
php artisan admin:install
执行的时候可能会遇到报错
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter tableusersadd uniqueusers_email_unique(email))
那么改如何解决呢?
4.将app/database.php 里面的字符集改成utf8
并且把 数据里面生成的表先删掉 ,然后重新运行 php artisan admin:install
【2】配置数据库
本地新建一个数据库,然后新建立一个用户,并授予响应的权限。然后laravel-admin里面有一个.env的配置文件,还有一个config/database.php文件需要进行配置。
然后我手动复制了laravel-admin的数据表到web_yangna 里面
【3】进入后台管理系统(laravel-admin系统用户名密码默认是admin admin)
![](https://img2023.cnblogs.com/blog/548763/202302/548763-20230203164712012-264035543.png)
【4】新建一个业务表
新建一个t_news_category
一定要有created_at 和 updated_at字段
CREATE TABLE `t_news_category` ( `id` int(10) UNSIGNED NOT NULL COMMENT '栏目id', `name` varchar(60) NOT NULL DEFAULT '' COMMENT '栏目名称', `created_at` datetime NOT NULL COMMENT '创建时间', `updated_at` datetime NOT NULL COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='新闻栏目表';
【5】创建表的对应的数据模型
创建模型的时候,下面这个命令就是,在models目录下生成一个NewsCategory.php文件,这个名字也是以t_news_category的对应的
php artisan make:model Models\\NewsCategory
【6】生成对应的控制器
下面这个命令就是在应用目录Admin下的NewsCategoryController.php对应的数据模型在应用目录下的Models/NewsCategory
php artisan admin:make NewsCategoryController --model=App\\Models\\NewsCategory
【7】设置路由
【8】后台管理系统配置菜单栏
【9】刷新后台管理系统,点进去新闻栏目管理
【10】定制控制器里面的方法,改变页面
grid()方法修改
create()方法修改
form()方法修改
常用方法:index(),grid(),index(),detail(),form(),
小结
第一步 生成Models目录
第二步 创建表的数据模型,例如php artisan make:model Models\\NewsCategory
第三步 找到上面的NewsCategory.php 修改里面的protect $table="t_news_category"
第四步 生成对应的控制器 pphp artisan admin:make NewsCategoryController --model=App\\Models\\NewsCategory
第五步 添加对应的路由,在app/admin/routes.php 添加$router->resource('/admin/NewsCategory',NewsCategoryController::class);
转:
https://blog.csdn.net/Tacks/article/details/85102967
https://blog.csdn.net/lzc147258/article/details/119824941
https://laravel-admin.org/docs/zh/1.x/