PHPackages                             skyyouare/laravel-gii - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. skyyouare/laravel-gii

ActiveLibrary

skyyouare/laravel-gii
=====================

laravel gii vue element-ui

1.13(5y ago)416MITPHPCI failing

Since Jul 23Pushed 5y agoCompare

[ Source](https://github.com/skyyouare/laravel-gii)[ Packagist](https://packagist.org/packages/skyyouare/laravel-gii)[ Docs](https://github.com/skyyouare/laravel-gii)[ RSS](/packages/skyyouare-laravel-gii/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (7)Versions (14)Used By (0)

laravel-gii 可视化代码生成工具 CRUD +GUI
-------------------------------

[](#laravel-gii-可视化代码生成工具-crud-gui)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c0523e0fb463784a81307a7301167937b3d497283893b619434186bba1ca5b23/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736b79796f756172652f6c61726176656c2d6769692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/skyyouare/laravel-gii)[![Total Downloads](https://camo.githubusercontent.com/4cafa57fe1db1682b7321692122faae58becc787be2d9311ae6fe3d200cb2e2b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736b79796f756172652f6c61726176656c2d6769692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/skyyouare/laravel-gii)[![Build Status](https://camo.githubusercontent.com/90907ba51642b04d54a972540db4d4cf7ea42179076bc93da1c834a7fb5cc36b/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f736b79796f756172652f6c61726176656c2d6769692f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/skyyouare/laravel-gii)

> Laravel Gii 参考[sunshinev/laravel-gii](https://github.com/sunshinev/laravel-gii)，使用laravel7 + vue + elemnt-ui 架构，api使用resftul api，前后端分离,项目代码使用php artisan vendor:publish发布后，不依赖扩展本身，全部部署到项目各目录下,可根据需求灵活修改

\[TOC\]

demo
----

[](#demo)

1. gii地址：
2. 访问地址（例）：

原理
--

[](#原理)

1. 通过解析MySQL的数据表结构，来提取字段、以及类型，并填充到`stub`模板。
2. 生成对应的Model、Observer、Controller、View、Route等相关项目文件。
3. 根据MySQL表结构生成Model
4. 根据Model生成Controller

注意
--

[](#注意)

因为是解析MySQL的表结构，并且根据字段生成模板，所以目前生成的Model类时只支持MySQL， MySQL表结构请保证`id`,`created_at`,`updated_at`三个字段必须存在。

安装
--

[](#安装)

\###扩展包 请先安装laravel7（其他版本未测试）

Via Composer

```
$ composer require skyyouare/laravel-gii --dev
```

### 发布

[](#发布)

```
需要先按
1、composer require laravel/ui --dev

2、php artisan ui vue

3、npm install

4、npm install element-ui vue-router qs --save-dev

5、php artisan vendor:publish  --tag gii.config --tag gii.views --tag gii.images --tag gii.js --tag gii.blade --tag  gii.sass --tag gii.controller --tag gii.request --tag gii.route --tag gii.exception --tag gii.provider --force

6、运行 npm run watch-poll 编译

```

### 访问

[](#访问)

在发布完成后，已经进行了路由的注册，可以通过下面的路由访问Gii页面,请确认配置好**数据库**(否则会报错)，网站域名(ip)等

```
http:[domain]/gii/model

```

操作说明
----

[](#操作说明)

### 生成Model模型

[](#生成model模型)

表单说明

1. MySQL table name：选择表名称
2. Model name：***自动***生成并选择mode名称,可以选择预定义的命名空间 可以修改config/gii.php增加或修改model\_namespaces,下拉选择按配置排序
3. Parent class name：***自动***选择模型继承的父类,可调整config/gii.php文件中base\_model\_defaults配置就行修改
4. select fileds：需***手动***选择需要生成下拉框的文件，字典需手动修改 生成model的 get\_dicts方法
5. Primary key：主键，默认选择第一个字段
6. Create at：选择创建时间字段，可以修改config/gii.php文件create\_at\_defaults进行调整
7. Update at：选择更新时间字段，可以修改config/gii.php文件update\_at\_defaults进行调整

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

比如指定生成的Model命名空间为`App\Models\Admin\AlarmLog`，那么生成的目录结构为:

```
    .app
    ├── Http
    │   └── Requests
    │       └── Admin
    │           └── AlarmLogRequests.php
    ├── Models
    │   └── Admin
    │       ├── AlarmLogModel.php
    │       └── AlarmLog.php
    ├── Observers
    │   └── Models
    │       └── Admin
    └──         └── AlarmLogObserver.php

```

通过上面的结构，我们可以发现命名空间与目录之间的关系。

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/gen_model.gif)](https://github.com/skyyouare/laravel-gii/blob/master/images/gen_model.gif)

### 生成CRUD

[](#生成crud)

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

该操作会同时生成：

- route
- controller
- views

表单说明

1. Model：选择model,可配置config/gii.php文件model\_base\_path获取加载下拉列表目录
2. Controller namespace：选择命名空间,可修改config/gii.php文件create\_at\_defaults进行调整controller\_namespaces
3. 自动生成文件名

如果指定命名空间的类为`App\Http\Controllers\Admin`,控制器为`AlarmLogController` ，以及关联的Model为`App\Models\Admin\AlarmLog`，那么生成的目录结构为:

```
    app
    ├── Http
    │   └── Controllers
    │   │   └── Admin
    │   │       └── AlarmLogController.php
    │   └── Requests
    │       └── Admin
    │           └── AlarmLogRequests.php
    ├── Models
    │   └── Admin
    │       ├── AlarmLogModel.php
    │       └── AlarmLog.php
    └── Observers
        └── Models
            └── Admin
                └── AlarmLogObserver.php

```

以及生成的视图文件

```
.resources
    └── pages
        └── admin
            └── alarmlog
                ├── list.vue
                ├── edit.vue
                ├── create.vue
                └── detail.vue

```

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/gen_crud.gif)](https://github.com/skyyouare/laravel-gii/blob/master/images/gen_crud.gif)

#### 如何访问CRUD?

[](#如何访问crud)

***注意：路由是追加的，请勿多次生成***CRUD的路由会自动添加到路由文件中，根据Controller的命名空间`App\Http\Controllers\Admin\AlarmLogController`会生成如下的路由，所以请直接访问路由

```
    //--------- append route 2020-08-27 09:58:16----------
    {
      name: 'alarmlog',
      path:'/alarmlog/list',
      component: resolve =>void(require(['./pages/alarmlog/list.vue'], resolve))
    },
    {
      name: 'alarmlog',
      path:'/alarmlog/create',
      component: resolve =>void(require(['./pages/alarmlog/create.vue'], resolve))
    },
    {
      name: 'alarmlog',
      path:'/alarmlog/edit',
      component: resolve =>void(require(['./pages/alarmlog/edit.vue'], resolve))
    },
    {
      name: 'alarmlog',
      path:'/alarmlog/detail',
      component: resolve =>void(require(['./pages/alarmlog/detail.vue'], resolve))
    },

```

CRUD后台效果
--------

[](#crud后台效果)

#### 列表页

[](#列表页)

包含全面的增删查改功能

- 列表
- 分页
- 搜索
- 删除
- 详情
- 编辑

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/list.png)](https://github.com/skyyouare/laravel-gii/blob/master/images/list.png)

#### 快捷搜索

[](#快捷搜索)

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/search.png)](https://github.com/skyyouare/laravel-gii/blob/master/images/search.png)

#### 添加页面

[](#添加页面)

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/add.png)](https://github.com/skyyouare/laravel-gii/blob/master/images/add.png)

### 编辑页面

[](#编辑页面)

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/edit.png)](https://github.com/skyyouare/laravel-gii/blob/master/images/edit.png)

### 详情

[](#详情)

[![images](https://github.com/skyyouare/laravel-gii/raw/master/images/detail.png)](https://github.com/skyyouare/laravel-gii/blob/master/images/detail.png)

License
-------

[](#license)

MIT. Please see the [license file](license.md) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

13

Last Release

2063d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/755e0b57b18c29ab384c6fb1ef31f6e1e6cc0336479cb8bcbd0c44190d53cd1f?d=identicon)[skyyouare](/maintainers/skyyouare)

---

Top Contributors

[![skyyouare](https://avatars.githubusercontent.com/u/8912113?v=4)](https://github.com/skyyouare "skyyouare (1 commits)")

---

Tags

element-uigiilaravel-giilaravel7vuevue-routerlaravelgiivueelement-ui

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/skyyouare-laravel-gii/health.svg)

```
[![Health](https://phpackages.com/badges/skyyouare-laravel-gii/health.svg)](https://phpackages.com/packages/skyyouare-laravel-gii)
```

###  Alternatives

[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8425.3M87](/packages/laravel-doctrine-orm)[masterro/laravel-mail-viewer

Easily view in browser outgoing emails.

6392.1k](/packages/masterro-laravel-mail-viewer)[dragon-code/laravel-http-logger

Logging incoming HTTP requests

319.8k3](/packages/dragon-code-laravel-http-logger)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
