laravel-admin 使用记录(2) - 快速搭建 CURD

栏目: PHP · 发布时间: 5年前

内容简介:安装完成之后,简单的改了下配置和页面效果。接下来快速的搭建 CURD。就用之前测试用的代码修改完成后,添加相对应的菜单

导语

安装完成之后,简单的改了下配置和页面效果。接下来快速的搭建 CURD。就用之前测试用的 faker_users 表进行。

控制器和路由

  1. 指定 model 生成控制器 php artisan admin:make Database\\FakerUserController --model=App\\Models\\FakerUser 。执行之后,生成了文件 Database/FakerUserController ,并且已经有了相关的操作方法
  2. admin/route.php 文件中添加路由,最终代码如下
<?php

use Illuminate\Routing\Router;

Admin::registerAuthRoutes();

Route::group([
    'prefix' => config('admin.route.prefix'),
    'namespace' => config('admin.route.namespace'),
    'middleware' => config('admin.route.middleware'),
], function (Router $router) {

    $router->get('/', 'HomeController@index');

    Route::group(['prefix' => 'database', 'namespace' => 'Database'], function ($route) {
        $route->resource('faker_user', 'FakerUserController');
    });
});

添加菜单

代码修改完成后,添加相对应的菜单

laravel-admin 使用记录(2) - 快速搭建 CURD

添加完成后,来访问一下

laravel-admin 使用记录(2) - 快速搭建 CURD

看起来还不错,CURD 的功能都有了,而且有导出、筛选等功能。

细节优化

当然还是有些不足的,例如在添加的时候,年龄这里是个开关

laravel-admin 使用记录(2) - 快速搭建 CURD

简单修改如下

/**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new FakerUser);

        // FakerUser::labels() 是对应的显示标签
        
        $form->text('name', FakerUser::labels()['name']);
        $form->email('email', FakerUser::labels()['email']);
        $form->number('age', FakerUser::labels()['age']);
        $form->text('city', FakerUser::labels()['city']);

        return $form;
    }

laravel-admin 使用记录(2) - 快速搭建 CURD

看起来好点了:smile:。再改下列表页

/**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new FakerUser);

        $grid->id(FakerUser::labels()['id']);
        $grid->name(FakerUser::labels()['name']);
        $grid->email(FakerUser::labels()['email']);
        $grid->age(FakerUser::labels()['age'])->sortable();// 字段排序
        $grid->city(FakerUser::labels()['city']);
        $grid->created_at(FakerUser::labels()['created_at']);
        $grid->updated_at(FakerUser::labels()['updated_at']);

        // 默认倒序
        $grid->model()->orderBy('id', 'desc');

        $grid->filter(function ($filter) {
            // 禁止默认的 id 筛选
            $filter->disableIdFilter();
            // 姓名筛选
            $filter->like('name', FakerUser::labels()['name']);
            // 城市筛选
            $filter->like('city', FakerUser::labels()['city']);
        });

        return $grid;
    }

laravel-admin 使用记录(2) - 快速搭建 CURD

laravel-admin 使用记录(2) - 快速搭建 CURD

结语

其余的代码修改请查看 Github 。本文只做了简单的修改,laravel-admin 支持很多 CURD 功能,可以看下官方文档。

参考资料: laravel-admin 文档


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Principles of Object-Oriented JavaScript

Principles of Object-Oriented JavaScript

Nicholas C. Zakas / No Starch Press / 2014-2 / USD 24.95

If you've used a more traditional object-oriented language, such as C++ or Java, JavaScript probably doesn't seem object-oriented at all. It has no concept of classes, and you don't even need to defin......一起来看看 《Principles of Object-Oriented JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换