安裝命令
# 安裝 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',
重新生成一條記錄就 發現時間已經改過來了