laravel-admin中模型及控制器的创建使用步骤
2023-06-01 00:00:00
laravel
这篇也是接上上一篇的,laravel-admin扩展包装好了就使用一下它
环境:centos7+laravel7+laravel-admin1.8
mysql创建个表:test 添加几个字段id,name,添加时间,编辑时间
1.创建model
[[email protected] laraveltest]# php artisan make:model Models/Test
Model created successfully.
2.创建控制器
[[email protected] laraveltest]# php artisan admin:make TestController --model=App\\Models\\Test
App\Admin\Controllers\TestController created successfully.
Add the following route to app/Admin/routes.php:
$router->resource('tests', TestController::class);
[[email protected] laraveltest]#
3.在菜单栏Admin\Menu里面添加菜单 测试目录 url设置tests
4.设置路由 (app\admin\routes.php)
//$router->resource('tests', TestController::class);
$router->resources([
'tests' => TestController::class,
]);
5.test模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
protected $table = 'test';
public static function grid($callback)
{
return new Grid(new static, $callback);
}
public static function form($callback)
{
return new Form(new static, $callback);
}
}
6.test控制器
<?php
namespace App\Admin\Controllers;
use App\Models\Test;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;
class TestController extends AdminController
{
/**
* Title for current resource.
* @var string
*/
protected $title = 'Test';
/**
* Make a grid builder.
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new Test());
$grid->column('id', 'ID')->sortable();
$grid->column('name');
$grid->column('created_at')->date('Y-m-d');
$grid->column('updated_at')->date('Y-m-d');
return $grid;
}
/**
* Make a show builder.
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(Test::findOrFail($id));
return $show;
}
/**
* Make a form builder.
* @return Form
*/
protected function form()
{
$form = new Form(new Test());
return $form;
}
}
ok了
相关文章