<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] 代碼自動生成功能的url為`/admin/generate/index`,可以一鍵生成后臺控制器,后臺視圖,接口控制器,接口service,模型,驗證器。自動建表功能已經刪除,建議使用ThinkPHP的數據庫遷移功能建表或自行在數據庫中建表。 ## 完整操作步驟 例如,生成一個后臺 **用戶管理** 功能 ### 建表 #### 創建表遷移文件 運行以下命令,該命令會在`/database/migrations/`目錄下生成對應的遷移文件。 ``` php think migrate:create User ``` #### 添加表字段 遷移文件默認帶一個`change`方法,在`change`方法中可以進行表字段的添加,示例代碼如下。 ~~~php public function change() { $table = $this->table('user', ['comment' => '用戶', 'engine' => 'InnoDB', 'encoding' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci']); $table ->addColumn('avatar', 'string', ['limit' => 255, 'default' => '/static/index/images/avatar.png', 'comment' => '頭像']) ->addColumn('username', 'string', ['limit' => 30, 'default' => '', 'comment' => '用戶名']) ->addColumn('nickname', 'string', ['limit' => 30, 'default' => '', 'comment' => '昵稱']) ->addColumn('mobile', 'string', ['limit' => 11, 'default' => '', 'comment' => '手機號']) ->addColumn('password', 'string', ['limit' => 255, 'default' => password_hash('_password', 1), 'comment' => '密碼']) ->addColumn('status', 'boolean', ['limit' => 1, 'default' => 1, 'comment' => '是否啟用']) ->addColumn('create_time', 'integer', ['limit' => 10, 'default' => 0, 'comment' => '創建時間']) ->addColumn('update_time', 'integer', ['limit' => 10, 'default' => 0, 'comment' => '更新時間']) ->addColumn('delete_time', 'integer', ['limit' => 10, 'default' => 0, 'comment' => '刪除時間']) ->create(); $this->insertData(); } ~~~ 在創建表的過程中應注意以下事項: - 表名必須使用`小寫+下劃線`的形式,表備注必須為該表中文名稱,例如`user`表的備注為`用戶`,切勿添加后綴。 - 字段名必須使用`小寫+下劃線`的形式,字段注釋應該為該字段的中文名稱,例如`username`字段的注釋為`用戶名`,切勿添加后綴。 - 無特殊情況表的主鍵必須為`id`字段,且為無符號自增,可根據需要設置為`int`或`bigint`。 - 無特殊情況必須添加`create_time,update_time,delete_time`三個字段,默認值都為`0`,基礎模型中軟刪除默認值已經設置為`0`,無須進行調整。 - 關聯的外鍵必須要遵守`關聯表`+`_id`的形式命名,例如文章表的`user_id`關聯用戶表(user),訂單表的`goods_id`關聯商品表(goods)。 #### 運行遷移命令生成表 創建表的代碼寫完之后,可以運行以下命令進行表的創建: ``` php think migrate:run ``` > 以上三步可以省略,直接運行`mysql`語句創建或在數據庫工具中進行表的創建。 ### 代碼生成 當表創建好之后,就可以訪問`/admin/generate/index`,點擊第一個**代碼自動生成**進入到代碼自動生成生成頁面。 代碼自動生成界面如下: ![代碼自動生成](https://img.kancloud.cn/9d/24/9d24566e8affbfeaa0548b0245a4acf7_3310x1444.png) #### 選擇表 選擇需要生成代碼的表,例如`user`表,選擇之后界面如下: #### 自動生成設置 * **中文名**為菜單,控制器,模型,驗證器的中文名稱,此名稱默認取表名的注釋。 * **模塊名稱后綴**默認為管理,比如生成菜單后主菜單(/admin/user/index)就叫用戶管理。 * **模塊圖標**默認為列表樣式,在左側菜單圖標中使用。 * **自動生成類名**主要為控制器,模型,驗證器的類名,默認為表名轉大寫駝峰。 * **列表刪除**為`index`視圖中的刪除功能,不需要取消勾選即可,默認選中。 * **列表添加**為`index`視圖中的添加功能,不需要取消勾選即可,默認選中。 * **列表刷新**為`index`視圖中的刷新功能,不需要取消勾選即可,默認選中。 * **列表導出**為`index`視圖中的導出功能,不需要取消勾選即可,默認選中。 * **列表導入**為`index`視圖中的導入功能,不需要取消勾選即可,默認選中。 * **列表啟用/禁用**為`index`視圖中的啟用/禁用功能,不需要取消勾選即可,默認未勾選。 --- * **菜 單**可選生成或不生成,生成的情況下可以選擇具體生成哪些菜單。 * **Admin控制器**可選生成或不生成,控制器名可進行自定義,控制器方法可選擇需要的。 * * **Api控制器**可選生成或不生成,控制器名可進行自定義,控制器方法可選擇需要的。 * **模 型**可選生成或不生成,模型名可進行自定義,自動時間戳默認選中,軟刪除功能默認選中。 * **驗證器**可選生成或不生成,模型名可進行自定義。 --- * **字段設置** 字段設置為代碼自動生成核心功能,支持設置以下內容: | 功能/設置 | 介紹 | | --- | --- | | 字段 | 表中的字段名,自動讀取。 | | 類型 | 表中字段類型,自動讀取。 | | 名稱 | 表中的字段中文名,自動讀取字段注釋。 | | 默認值 | 表中的字段默認值,自動讀取。 | | 列表 | 是否在后臺列表視圖顯示以及api列表返回。 | | 排序 | 是否在后臺列表中參與排序。 | | 表單 | 在表單頁的輸入類型,默認非表單字段;可選擇多種類型,例如text,file,textarea等等。 | | 驗證規則 | 表單字段的驗證類型,例如非空,格式限制等等。目前只實現了非空和部分格式限制自動生成,其他驗證過暫時可以自行手動添加。 | | 驗證場景 | 在哪些場景下進行驗證,例如后臺添加(admin_add)時等 。| | 自定義驗證規則 | 暫未開發,需要后續完善 | | 驗證場景 | 是否在列表頁keywords關鍵詞搜索,一般name,title之類的字段可以選擇。 | | 是否表單字段 | 是否在表單頁面(添加和修改)顯示 。 | | 自定義列表 | 當字段表單場景為select(下拉選擇)或multi_select(多選)同時為非關聯字段時,必須完善自定義數據列表,例如性別,需要在內容區域填寫 `0||未知\n1||男\n2||女` ,其中`\n`無需填寫,回車換行即可 | | 獲取/修改器 | 例如int類型的日期時間字段,可以選擇datetime。is_hot(是否熱門)之類的可以選擇switch。 | | 關聯外鍵(關聯設置) | 例如文章表的`user_id`(發布人)字段就為關聯外鍵,關聯著用戶表(user),對應的模型調用方法為`belongsTo`。 關聯外鍵當需要顯示的時候,例如文章列表頁顯示發布人昵稱,**關聯顯示字段**填寫`nickname`即可。 | | 關聯主鍵(關聯設置) | 關聯主鍵一般為`id`,例如用戶表(user)的`id`字段關聯著文章表,評論表,訂單表等等。對應模型調用的方法有`hasOne`,`hasMany`等。 像用戶表可能存在多個關聯表,例如文章表(article),訂單表(order),關聯表模型應該填寫所有關聯的表,并用英文逗號分割,例如`article,order` | #### 代碼生成 設置完菜單,視圖,模型,控制器,驗證器,字段等信息后,點擊右下角的提交按鈕即可生成對應的代碼文件。生成的代碼文件如下: - 控制器,所在目錄`/app/admin/controller/`。 - 視圖,所在目錄`/app/admin/view/`。 - 模型,所在目錄`/app/common/model/`。 - 驗證器,所在目錄`/app/common/validate/`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看