webase crud查看所有表_Laravel-Gii 可视化代码生成工具 CRUD +GUI

9d413409521be3b23d5a8ec4b3fec5b1.png

Laravel-Gii 可视化代码生成工具 CRUD +GUI

dd0a89e9048978f1b263265b4ef5b34c.png

适用于快速B端后台开发,根据MySQL的表结构生成对应的Model、Observer、Controller、View、Route等相关项目文件

[TOC]

注意

因为是解析MySQL的表结构,并且根据字段生成模板,所以目前生成的Model类时只支持MySQL,但是CRUD可以使用支持mongo和MySQL两种connection。

MySQL表结构请保证id,created_at,updated_at三个字段必须存在。

安装

扩展包

Composer require sunshinev/laravel-gii -vvv

发布

该操作会发布assets静态文件,到public目录下
php artisan vendor:publish  --tag laravel-gii

访问

http:[domain]/gii/model

操作说明

生成Model模型

表单说明

  1. 表名称(支持下拉选择)
  2. Model类名(想要创建模型类,包含命名空间)
  3. 模型继承的父类(如果是Mongo可以继承JenssegersMongodbEloquentModel,MySQL用IlluminateDatabaseEloquentModel

生成的文件列表,蓝色代表全新文件,红色代表已有文件但是存在不同,白色代表已有文件。

8ba687887fadfeb465306c3e79896e44.png

生成CRUD

CRUD的创建,需要依赖之前创建的模型。

该操作会同时生成:

  • route
  • controller
  • views

表单说明

  1. 控制器名称(包含命名空间)
  2. 之前创建的模型类

4db1a8ee302698dffecb97f01ee2ada6.png

特性

MySQL列表加载

从配置的MySQL数据库中拉取列表

4c9271df2c9ab2e42982872dc1213640.png

文件对比

工具会将新生成的文件与已存在的文件进行差异对比,方便查看修改部分,控制修改范围。

e12980674bc02b379d93bff508b45477.png

路由追加

新生成的页面,会自动追加到路由配置文件

6b847b68746778183076821a321d287d.png

CRUD后台效果

列表页

包含全面的增删查改功能

  • 列表
  • 分页
  • 检索
  • 删除+批量删除
  • 预览
  • 详情
  • 编辑

d564350b7098a9b6e3306adb558912f0.png

删除+批量删除

取消按钮放大,防止误删

f1715b4b8ab67485791d222f7f8ce43b.png

行预览

5be95bdb6f8d1929dc5c95bae918fa0c.png

编辑页面

5b6467fca8d32ca29cd065389f30d4f9.png

建议

如果想用Mongo怎么办?

如果生成完Model之后,默认的会使用env中配置的connection,如果需要调整,需要修改生成的Model文件。

// if connection is empty ,use default connectionprotected $connection = '';

后台页面如何支持其他组件?

后台页面统一使用iview作为前端框架,目前支持iview4的所有组件,可直接在生成的blade模板文件中添加组件即可。

iviewui文档

如何升级页面的iview组件?

生成的CRUD后台使用的是基于laravel-fe-render和base-fe 两个项目,其中base-fe是Vue+iview的打包,如下:

import Vue from 'vue'
import ViewUI from 'view-design';
import 'view-design/dist/styles/iview.css';
Vue.use(ViewUI);

可以Fork base-fe项目,然后进行iview升级,将生成的dist目录放到laravel-fe-render项目的assets目录,然后重新发布即可.

关于Gii的iview.min.js

请参考 https://github.com/sunshinev/ViewUI 项目,Fork后做了细微调整

相关资料

https://github.com/sunshinev/laravel-fe-render

https://github.com/sunshinev/base-fe

https://github.com/sunshinev/laravel-gii

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20145231第二周Java学习笔记

20145231 《Java程序设计》第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客。 第三章:基础语法 知识点比较多比较零碎,整理的都是实际操作中可…

JavaFX 2.0和Scala,像牛奶和饼干

JavaFX 2.0和Scala都是很好的技术,但是一起使用时效果会更好。 JavaFX 2.0是一种功能强大的富客户端技术,具有先进的图形,动画和媒体功能。 Scala是一种简单但功能强大的语言,具有用于编写特定于域的语言(DSL&#xff…

ASP.NET WebAPi之断点续传下载(上)

前言 之前一直感觉断点续传比较神秘,于是想去一探究竟,不知从何入手,以为就写写逻辑就行,结果搜索一番,还得了解相关http协议知识,又花了许久功夫去看http协议中有关断点续传知识,有时候发觉东西…

贪吃蛇(C++实现,VC6.0编译,使用了EasyX图形库)

程序效果&#xff1a; 代码&#xff1a; //main.cpp 1 #include <iostream>2 #include<fstream>3 #include <graphics.h>4 #include <conio.h>5 #include<ctime>6 #include<windows.h>7 #include<mmsystem.h>8 #pragma comment(lib…

3.0 C++远征:is a

4-4is_a 0.派生类Soldier继承自基类Person //Person.h class Person { public:Person(string name "Jim");~Person();void play(); protected:string m_strName; };//Soldier.h class Soldier : public Person { public:Soldier(string name "James", in…

python中sorted的用法append_python sorted()排序详解

排序&#xff0c;在编程中经常遇到的算法&#xff0c;我也在几篇文章中介绍了一些关于排序的算法。有的高级语言内置了一些排序函数。本文讲述Python在这方面的工作。供使用内置函数sorted()/list.sort()的使用简单应用python对list有一个内置函数&#xff1a;>>> a[5…

云上的播放框架变得简单:Openshift模块

仅仅几年前&#xff0c;找到一个负担得起的Java Web应用程序托管解决方案是一项艰巨的任务&#xff0c;而寻找免费的托管解决方案是一项不可能的任务。 更不用说甚至考虑自动缩放&#xff0c;单命令部署&#xff0c;持续集成等事情&#xff0c;这都是科幻小说。 去年见证了云计…

C#中的yield return与Unity中的Coroutine(协程)(下)

Unity中的Coroutine&#xff08;协程&#xff09; 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件&#xff0c; Image&#xff1a; 将以下代码绑定到Image 1 using UnityEngine;2 using System.Collections;3 using System.Threading;4 using …

字节流转化为文件流_C#文件转换为字节流及字节流转换为文件

本文讲解了C#实现文件转换为字节流的方法。文件转换为字节流的步骤如下1、通过文件流打开指定文件(FileStream fs)&#xff1b;2、定义字节流(byte[] fileBytenew byte[fs.Length])&#xff1b;3、把文件读取到字节流(fs.Read(fileByte,0,fileByte.Length))&#xff1b;4、关闭…

Spring和JSF集成:导航

我希望这是有关我在Spring和JavaServer Faces之间提供深度集成的努力的一系列博客中的第一篇。 这里提到的所有内容都是“正在进行中的工作”&#xff0c;因此&#xff0c;如果您签出代码&#xff0c;请注意它是一个不断变化的目标。 期待一些粗糙的边缘&#xff0c;如果有时会…

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

前言&#xff1a;之前我有写过CSS3的transform这一这特性&#xff0c;对于它的用法&#xff0c;还不是很透彻&#xff0c;今天补充补充&#xff0c;呵呵 你懂的&#xff0c;小司机准备开车了。 a)再提一提transform的四个属性 ①旋转--->rotate(参数a)&#xff0c;单位deg&a…

宏的用法与简介

预处理指令&#xff1a;例如&#xff1a;#include<stdio.h> #include<stdlib.h> #define MAX 20 ............. 因为他们由预处理器解释的&#xff0c;所以称作预处理指令。预处理器读取源代码&#xff0c;然后对其修改&#xff0c;并把修改过的…

django 日志写入mysql_如何将django orm模型 写入数据库

1、指定连接pymysql(python3.x)先配置_init_.pyimport pymysqlpymysql.install_as_MySQLdb()2、配置连接mysql文件信息settings.pyDATABASES {default: {ENGINE: django.db.backends.mysql,NAME: django_orm, #你的数据库名称USER: root, #你的数据库用户名PASSWORD: , #你的数…

ORM的问题第2部分–查询

在我以前关于对象关系映射工具&#xff08;ORM&#xff09;的帖子中&#xff0c;我讨论了在处理当今常见的ORM&#xff08;包括Hibernate&#xff09;时遇到的各种问题。 其中包括与从POJO生成架构有关的问题&#xff0c;实际性能和不断出现的维护问题。 本质上&#xff0c;结论…

【转】如何减少接口响应时间

Premature optimization is the root of all evil. — Donald Knuth 对于程序优化&#xff0c;我一直采取保守的态度&#xff0c;除非万不得已。但是随着业务的不断发展&#xff0c;程序越来越复杂&#xff0c;代码越写越多&#xff0c;优化似乎是终有一天会到来的事情。 那么对…

数据库行转列在现实需求中的用法

select t.客户姓名,sum(case when t.收款类型首款 then t.金额 else 0 end as 首款),sum(case when t.收款类型尾款 then t.金额 else 0 end as 尾款) from table t group by t.客户姓名 这段sql的意思 是 查询出所有客户收款信息 然后按客户分组 分组后 然后将这个客户的所…

mysql生产环境加索引_【生产篇】_MySQL环境下如何查看基于表的索引定义

【引言】今天中午项目组来一需求&#xff0c;欲在MySQL环境的某张表下创建几个BTREE索引。要创建索引&#xff0c;首先需要了解基表的表结构&#xff0c;以及已经包含的索引。Oracle的表结构大家都很熟悉&#xff0c;但MySQL表结构和已创建索引的查看怎么操作&#xff0c;本文将…

Hadoop模式介绍-独立,伪分布式,分布式

了解了什么是Hadoop之后&#xff0c;让我们在单机上启动Hadoop&#xff1a; 这篇文章包含在ubuntu上安装Hadoop的说明。 这是Hadoop安装的快速分步教程。 在这里&#xff0c;您将获得以独立模式 &#xff08;单节点集群&#xff09;安装Hadoop所需的所有命令及其说明&#xff0…

apk反编译方式

一、Apk反编译得到Java源代码 下载上述反编译工具包&#xff0c;打开apk2java目录下的dex2jar-0.0.9.9文件夹&#xff0c;内含apk反编译成java源码工具&#xff0c;以及源码查看工具。 apk反编译工具dex2jar&#xff0c;是将apk中的classes.dex转化成jar文件 源码查看工具jdgui…

优化Hibernate所鼓励的7大措施

优化Hibernate所鼓励的7大措施&#xff1a; 1.尽量使用many-to-one&#xff0c;避免使用单项one-to-many2.灵活使用单向one-to-many3.不用一对一&#xff0c;使用多对一代替一对一4.配置对象缓存&#xff0c;不使用集合缓存5.一对多使用Bag 多对一使用Set6.继承使用显示多态 HQ…