1.添加頁面
配置好laravel-admin的模板后
![]()
點擊管理員管理里的菜單列表,輸入如下信息即可
![]()
提交之后刷新頁面,左側菜單就會顯示新增的廣告管理的標簽
2.定義路由
配置好前端的頁面顯示之后就要配置對應的路由了。
路由的配置信息在app=>Admin=>routes.php
直接在function下一行添加一個新的路由(被上傳的水印覆蓋了)
$router->resource(‘/brand’, ‘BrandController’);
這里的brand是你訪問的路徑,我的路徑是http://localhost/admin/brand,BrandController是你的控制器名稱,使用的resource就已經包含了增刪改查等功能,所以這一個頁面只寫一個路由就可以了。
3.新建模型
在app=>Admin=>Controllers文件夾下新建模型這里新建的文件為BrandModel.php
<?php namespace App\Model; use Illuminate\Database\Eloquent\Model; class BrandModel extends Model { protected $table = "brand";//要連接的表名稱 public $timestamps = false;//將時間戳設置為false,否則數據表沒有對應字段(create_at等字段)就會報錯 }
4.新建控制器
在app=>Model文件夾下新建控制器,我這里新建的文件為BrandController.php
<?php namespace App\Admin\Controllers; use App\Http\Controllers\Controller; use App\Model\BrandModel;//引用模型 use Encore\Admin\Form; use Encore\Admin\Grid; use Encore\Admin\Facades\Admin; use Encore\Admin\Layout\Content; use Encore\Admin\Controllers\ModelForm; class BrandController extends Controller { use ModelForm; public function index() { return Admin::content(function (Content $content) { $content->header('廣告');//這里是頁面標題 $content->description('列表');//這里是詳情描述 $content->body($this->grid());//指向grid方法顯示表格 }); } public function create() { return Admin::content(function (Content $content) { $content->header('廣告列表'); $content->description('新增'); $content->body($this->form());//調用form方法,顯示表單 }); } public function edit($id) { return Admin::content(function (Content $content) use ($id) { $content->header('廣告列表'); $content->description(); $content->body($this->form()->edit($id));//將id傳給form,form的模型就是以id為查詢條件的 }); } protected function form() {//點擊新增或者修改進入form表單 return Admin::form(BrandModel::class, function (Form $form) { //form表單顯示內容,$form->顯示的控件格式【文本框,多選框,文件上傳......】(‘數據庫中相應的字段’,‘在頁面上顯示的名稱’)->其他方法(); $form->text('name',名稱)->rules("required");//required為名稱規則,具體信息的定義在recourse=>lang=>zh_CN=>validation.php文件中 $form->text('sort',排序)->default(BrandModel::max('sort') + 1);//default定義默認值為數據表中sort字段的最大值+1 $form->image('logo','圖片')->uniqueName()->value('1.jpg');//value顯示默認圖片 $form->editor('remark','備注');//富文本編輯框 //還有很多類型這里就不一一列舉了,更具體的內容可以去官方文檔查看 }); } protected function grid() {//頁面顯示的表格 return Admin::grid(BrandModel::class, function (Grid $grid) { //grid顯示表格內容,$grid->數據庫中相應的字段(‘在頁面上顯示的名稱’)->其他方法();或者$grid->column(‘數據庫中相應的字段’,‘在頁面上顯示的名稱’)->其他方法(); $grid->id('ID')->sortable(); $grid->name('名稱'); $grid->sort('排序'); // $grid->disableExport();//禁用導出數據按鈕 // $grid->filter(function ($filter) { // $filter->disableIdFilter();//禁用查詢過濾器 // $filter->like('name', '名稱'));//用名稱作為條件模糊查詢 }); }); } }
https://blog.csdn.net/qq_33541033/article/details/78616915

