创建好数据表生成代码

未匹配的标注

视频地址
www.bilibili.com/video/BV1VA411p7R...

执行生成命令

对laravel标准不熟悉的请读完后面的建表规则

开发过程中数据库中已创建好数据表,通过数据表生成迁移文件+模型+控制器+列表页面+编辑页面

php artisan create:all tests

生成结果

编辑页面
列表页面

通过navicat工具快速创建数据表

建表规则

表名”tests“(laravel标准)

1. 主表使用复数形式

  • 多对多关联中间表以单数形式且以字母顺序排列,例如:menu_role而不是role_menu

表名备注”测试$softDeletes,timestamps,treeModel@belongsTo:user“(备注名$数据表类型@数据表关联). 关联关系文档

1. 备注名:使用单条数据名称

  • 数据表类型:
    • softDeletes:软删除功能,含有deleted_at字段.软删除文档
    • timestamps:自动更新创建时间,修改时间;含有created_at,updated_at字段
    • treeModel:树状结构数据,含有字段parent_id,level,left_margin,right_margin
    • noId:多对多中间表没有主键id

表主键id

1. 主键ID统一使用id字段

字段规则

1. 所有字段能设置不能为空的尽量设置默认值

  • 关联字段表名单数加”_id“,如user_id

字段备注”电子邮箱$email@sometimes|required|email|unique:tests,email“(备注名$类型@验证规则)

1. 备注名:字段名称备注

navicat建表

CREATE TABLE `tests` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID$select2',
  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '名称',
  `password` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '密码$password@sometimes|required|digits_between:6,18',
  `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '电子邮箱$email@sometimes|required|email|unique:tests,email',
  `is_page` int(11) NOT NULL DEFAULT '0' COMMENT '是否为页面:0-否,1-是$radio@in:0,1',
  `status` tinyint(4) NOT NULL DEFAULT '2' COMMENT '状态:1-显示,2-不显示$select@in:1,2',  `icons` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '图标$icon@nullable|alpha_dash',
  `method` int(11) NOT NULL DEFAULT '1' COMMENT '请求方式:1-get,2-post,4-put,8-delete,16-head,32-options,64-trace,128-connect$checkbox@required|array',
  `date_at` date DEFAULT NULL COMMENT '日期$date',  `month_at` date DEFAULT NULL COMMENT '月份$month',  `time` varchar(255) NOT NULL DEFAULT '' COMMENT '时间选择器$timeSelect',
  `time_picker` varchar(255) NOT NULL DEFAULT '' COMMENT '时间到秒$timePicker',
  `color` varchar(255) NOT NULL DEFAULT '' COMMENT '颜色选择器$color',
  `switch` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '开关$switch',  `slider` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '滑块$slider',  `rate` double(10,0) unsigned NOT NULL DEFAULT '0' COMMENT '评分星星$rate',
 `num` int(11) NOT NULL DEFAULT '0' COMMENT '数字$num', `description` varchar(255) NOT NULL DEFAULT '' COMMENT '描述$textarea', `img` varchar(255) NOT NULL DEFAULT '' COMMENT '图片$upload', `ueditor` text COMMENT 'Markdown编辑器$markdown', `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父级ID$ztree@nullable|exists:tests,id', `level` smallint(6) NOT NULL DEFAULT '0' COMMENT '层级', `left_margin` int(11) NOT NULL DEFAULT '0' COMMENT '左边界', `right_margin` int(11) NOT NULL DEFAULT '0' COMMENT '右边界', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `tests_parent_id_index` (`parent_id`), KEY `tests_left_margin_index` (`left_margin`), KEY `tests_right_margin_index` (`right_margin`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试$softDeletes,timestamps,treeModel@belongsTo:user';

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~