搜索中心
搜索中心 搜索快照

数据表格 - 快速入门

ModStart\Grid\Grid 类用于生成基于数据模型的表格,先来个例子,数据库中有 blog

CREATE TABLE `blog` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(200) DEFAULT NULL,
  `cover` varchar(200) DEFAULT NULL,
  `summary` varchar(200) DEFAULT NULL,
  `content` text,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

使用下面的代码可以生成 blog 的数据表格。

id('id', 'ID');
        // 定义标题字段,格式为单行文本
        $grid->text('title', '标题');
        // 定义封面字段,格式为单张图片
        $grid->image('cover', '封面');
        // 定义摘要字段,格式为多行文本
        $grid->textarea('summary', '摘要');
        // 定义内容字段,格式为富文本
        $grid->richHtml('content', '内容');
        // 定义创建时间字段,格式为简单显示
        $grid->display('created_at', '创建时间');
        // 定义搜索过滤字段
        $grid->gridFilter(function (GridFilter $filter) {
            // 定义ID可搜索
            $filter->eq('id', 'ID');
            // 定义标题可模糊查找
            $filter->like('title', '标题');
        });
        // 定义整体增删改查标题为「博客」
        $grid->title('博客');
        return $grid;
    }

    public function form()
    {
        return Form::make('blog', function (Form $form) {
            // 定义标题字段,格式为单行文本
            $form->text('title', '标题');
            // 定义封面字段,格式为单张图片
            $form->image('cover', '封面');
            // 定义摘要字段,格式为多行文本
            $form->textarea('summary', '摘要');
            // 定义内容字段,格式为富文本
            $form->richHtml('content', '内容');
        });
    }

    public function detail()
    {
        return Detail::make('blog', function (Detail $detail) {
            // 定义显示ID列
            $detail->id('id', 'ID');
            // 定义标题字段,格式为单行文本
            $detail->text('title', '标题');
            // 定义封面字段,格式为单张图片
            $detail->image('cover', '封面');
            // 定义摘要字段,格式为多行文本
            $detail->textarea('summary', '摘要');
            // 定义内容字段,格式为富文本
            $detail->richHtml('content', '内容');
            // 定义创建时间字段,格式为简单显示
            $detail->display('created_at', '创建时间');
            // 定义更新时间字段,格式为简单显示
            $detail->display('updated_at', '更新时间');
        });
    }
}

定义Routes

 env('ADMIN_PATH', '/admin/'),
        'middleware' => ['admin.bootstrap', 'admin.auth'],
        'namespace' => '\App\Admin\Controller',
    ], function () {
    Route::match(['get', 'post'], 'blog', 'BlogController@index');
    Route::match(['get', 'post'], 'blog/add', 'BlogController@add');
    Route::match(['get', 'post'], 'blog/edit', 'BlogController@edit');
    Route::match(['get', 'post'], 'blog/delete', 'BlogController@delete');
    Route::match(['get', 'post'], 'blog/show', 'BlogController@show');
});
查看原文
QQ
微信