安装命令
# 安装 Laravel 安装器:
composer global require laravel/installer
# 创建名为 shopAdmin 项目
laravel new shopAdmin
经过漫长的等待已经安装好了
# 进入项目目录
cd shopAdmin
# 将 .env.example 复制为 .env
cp .env.example .env
# 重新生成秘钥
php artisan key:generate
# 执行启动命令
php artisan serve
通过浏览器访问 http://127.0.0.1:8000 即可看到如下页面
配置数据库
# 准备一个数据库
链接地址 127.0.0.1
账号 root
密码 root
数据库名称 shopAdmin
在.env 文件中找到这段配置
修改为
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=shopAdmin
DB_USERNAME=root
DB_PASSWORD=root
DB_TIMEZONE=+08:00
APP_TIMEZONE=Asia/Shanghai
下面开始引入 laravel-admiN
# 下载laravel-admin包
composer require encore/laravel-admin
# 运行下面的命令来发布资源:
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
# 执行laravel-admin 安装
php artisan admin:install
# 启动任务
php artisan serve
- 访问 http://127.0.0.1:8000/admin
- 初始用户名 admin
- 初始用户密码 admin
# 创建一个文章表
CREATE TABLE `cms_article` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'id',
`title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',
`author` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '作者',
`article_content` longtext COLLATE utf8mb4_unicode_ci COMMENT '内容',
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime DEFAULT NULL COMMENT '更新时间',
`deleted_at` datetime DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文章表';
# 创建一个Models 文件夹
# 路径: 项目地址/admin/app/Admin/Models
创建第一个model
- 文件名 CmsArticle.php
<?php
namespace App\Admin\Models;
use Illuminate\Database\Eloquent\Model;
class CmsArticle extends Model
{
//此处填写表名
protected $table = 'cms_article';
}
# 通过命令生成 控制器
php artisan admin:make CmsArticleController --model=App\\Admin\\Models\\CmsArticle
- 找到路由文件 项目名称/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('cms-articles', CmsArticleController::class);
});
- 访问 http://127.0.0.1:8000/admin/cms-articles
语言切换
- 在 config/app.php
'locale' => 'zh-CN',
修改好了就可以看到已经修改为中文
修改工程
- config/admin.php
# 修改项目名称
'name' => '商城管理',
# 修改后台title 展示
'logo' => '<b>商城</b> 管理',
# 修改后台title 菜单缩小后展示
'logo-mini' => '<b>管理</b>',
# 修改菜单默认展开
# 'layout' => ['sidebar-mini', 'sidebar-collapse'],
'layout' => ['sidebar-mini'],
修改菜单名称
逐个修改
将文章管理增加到菜单中
刷新页面
修改文章管理
- app/Admin/Controllers/CmsArticleController.php
修改title
protected $title = '文章管理';
grid 表格
protected function grid()
{
$grid = new Grid(new CmsArticle());
$grid->column('id', __('Id'));
$grid->column('title', __('标题'));
$grid->column('author', __('作者'));
$grid->column('article_content', __('内容'));
$grid->column('created_at', __('创建时间'));
$grid->column('updated_at', __('更新时间'));
//$grid->column('deleted_at', __('Deleted at'));
return $grid;
}
detail 详情
protected function detail($id)
{
$show = new Show(CmsArticle::findOrFail($id));
$show->field('id', __('Id'));
$show->field('title', __('标题'));
$show->field('author', __('作者'));
$show->field('article_content', __('文章内容'));
$show->field('created_at', __('创建时间'));
$show->field('updated_at', __('更新时间'));
//$show->field('deleted_at', __('Deleted at'));
return $show;
}
form 新增及修改
protected function form()
{
$form = new Form(new CmsArticle());
$form->text('title', __('标题'));
$form->text('author', __('作者'));
$form->textarea('article_content', __('文章内容'));
return $form;
}
新增一条数据试试吧
此时的更新时间及修改时间是存在问题的
- 修改 app/Admin/Models/CmsArticle.php
<?php
namespace App\Admin\Models;
use Illuminate\Database\Eloquent\Model;
use Encore\Admin\Traits\DefaultDatetimeFormat;
class CmsArticle extends Model
{
//使用默认时间格式
use DefaultDatetimeFormat;
//此处填写表名
protected $table = 'cms_article';
}
- 修改 config/app.php 设置时区
//'timezone' => 'UTC',
'timezone' => 'Asia/Shanghai',
重新生成一条记录就 发现时间已经改过来了