laravel-admin安裝及使用教程

安裝命令
# 安裝 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',

重新生成一條記錄就 發現時間已經改過來了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章