<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>

                [TOC] # 字段管理 模型添加的時候,我們可能只選了一些常用的預設好了的字段,還有更多字段是需要我們自行添加的 一樣是在“模型管理”中,找到需要添加字段的模型 ![](https://img.kancloud.cn/ca/44/ca44e1bc654a344839fa07a03bb896bc_1108x146.png) 點擊“字段”操作按鈕 ![](https://img.kancloud.cn/68/30/68300a941fbda04da5601e968d9a5f6f_1102x381.png) 這樣你就可以管理字段了。 字段管理,除了往數據表管理對應字段以外(如:字段名、類型、默認值等),該字段在整個后臺數據管理的設置都在這里進行(如:表單、列表是否顯示怎么顯示、選項等等都在這里管理),生成模型的時候會將字段信息寫入到模型的`form`屬性中。 # 表單字段介紹 ![](https://img.kancloud.cn/f2/aa/f2aaea2a226bbb2e442f08e1b48a30ca_1301x608.png) ~~~ /** 表單form屬性 */ $this->form = [ 'id' => [ 'type' => 'integer', 'name' => 'ID', 'elem' => 'hidden', ], 'title' => [ 'type' => 'string', 'name' => '標題', 'form' => 'text', 'list' => 0, ], 'create_time' => [ 'type' => 'integer', 'name' => '創建日期', 'elem' => 0, 'list' => [ 'minWidth' => '145', ], ], 'update_time' => [ 'type' => 'integer', 'name' => '修改日期', 'elem' => 0, 'list' => [ 'minWidth' => '145', ], ], ]; ~~~ 1、字段名 都懂得起這個填什么!應該采用小寫加下劃線方式命名,每個字段對應form下的一個鍵,更多細節務必看下前面章節"規范" 2、字段名稱 人類可讀名稱,比如:標題、用戶名 生成到form對應字段屬性:`name` 數據表對應到`COMMENT`注釋中 3、系統字段 一旦設置為系統字段,后期不允許刪除該字段 4、表單類型 添加或修改的時候對應的表單顯示類型 生成到form對應字段屬性:`elem` 有些表單可能還需要與5,6,7,8,9通過配合完成功能 5、關聯信息 當表單為`relation`設置對應的關聯模型信息,應該為`belongsTo`類型的關聯,只填寫模型名即可 生成到form對應字段屬性:`foreign` 6、選項值列表 當表單為radio、select、xmselect、checkbox等,在該字段中進行選項的設定 生成到form對應字段屬性:`options` 7、表單項屬性 直接給該字段添加自定義的根屬性 ![](https://img.kancloud.cn/dd/40/dd4034c32ff8bac7aaef592f2124b94a_499x94.png) ~~~ 'title' => [ 'type' => 'string', 'name' => '標題', 'elem' => 'text', 'a' => 'aa', 'b' => 'bb', ], ~~~ ![](https://img.kancloud.cn/34/1a/341af8434fb07f8f9f42824e5f28eacb_684x90.png) 現在給字段定義了一個`form_group`的屬性,對應的值應該是模型中`表單分組名`中的其中一項,這樣表單字段分組就設置好了 ![](https://img.kancloud.cn/9a/81/9a818d8d26492d6fe9b39a7627db18ca_856x250.png) ![](https://img.kancloud.cn/15/e9/15e91dacfcd82cd02bc3756f12ac7d82_690x74.png) ~~~ 'title' => [ 'a' => [ 'a' => 'aa', 'b' => 'bb', ], ], ~~~ 值支持是一個json格式字符串,生成的時候可以解析為數組,這樣可以變向實現定義多維數組 8、標簽屬性 給該字段的表單指定一些自定義的標簽屬性 生成到form對應字段屬性:`attrs` ![](https://img.kancloud.cn/09/f2/09f2635ef09adeac41171946c3be3fe6_498x83.png) ~~~ 'title' => [ 'type' => 'string', 'name' => '標題', 'elem' => 'text', 'attrs' => [ 'data-id' => '11', 'data-x' => 'xxx', ], ], ~~~ 然后到添加或修改頁面,F12查看下生成的網頁代碼: ![](https://img.kancloud.cn/c1/47/c1475172ce81eac791ee43b59d7207b1_598x266.png) 說明`attrs`下的屬性都會被定義到網頁標簽上 不要通過該方式自定義class或id標簽屬性,容易造成樣式丟失,你可以利用系統現有給到的選擇器進行你的業務處理 比如:. woo-form-name-字段名 . woo-form-name-字段名 .layui-input 你可以多通過F12多去發現系統默認給出選擇器的規律 也不建議通過value標簽屬性做默認值,控制器中可以通過其他方式設置默認值 9、上傳配置 生成到form對應字段屬性:`upload` ![![](https://img.kancloud.cn/fa/a9/faa974a328d8b6dce57274f41e2d86aa_409x214.png)](images/screenshot_1601190398857.png) ~~~ 'avatar' => [ 'type' => 'string', 'name' => '頭像', 'elem' => 'image', 'upload' => [ 'maxSize' => '512', 'validExt' => 'png|jpg|gif|jpeg' ], 'list' => 'file', ], ~~~ maxLength:多文件(圖片)上傳時有效,至少最多上傳文件的數量 maxSize:單文件最大上傳的大小,單位:KB url: 上傳接口的URL地址,一般不需要,如遇特殊自定義情況可以設置 nameFiled:單文件情況下,用于存儲文件名稱的字段名 sizeField:單文件情況下,用于存儲文件大小的字段名 validExt:允許上傳文件的后綴,多個之間|分割 10、表單觸發器 用于當該字段的值為指定值時,指定字段才顯示;否則隱藏 生成到`formTrigger`模型屬性 ![](https://img.kancloud.cn/a6/0e/a60e08657bb845428e746a36b80454da_400x89.png) ~~~ $this->formTrigger = [ 'type' => [ 'func' => 'url|func', 'url' => 'url|target', ], ]; ~~~ 參考快捷方式模型`Shortcut`,該設置表示:url、func、target字段默認隱藏,當type字段值為func時,顯示url和func字段;當type字段值為url時,顯示url和target字段 11、列表模板 該字段在列表頁顯示的方式 生成到form對應字段屬性:`list`的`templet` 可以是一個模板名稱,也可以是一個模板具體自定義代碼 ![](https://img.kancloud.cn/8a/36/8a36a943572586d10e024e98e5a17b52_403x127.png) ~~~ 'title' => [ //... 'list' => [ 'templet' => 'show', 'minWidth' => '200', ] ], ~~~ ![](https://img.kancloud.cn/a3/27/a3275350c7b1c7ed1d91150dd4190397_419x134.png) ~~~ 'title' => [ //... 'list' => [ 'templet' => '<div>我是{{d.title}},我創建于{{d.create_time}}</div>', 'minWidth' => '200', ] ], ~~~ 列表頁: ![](https://img.kancloud.cn/b6/c1/b6c115646ed70d4a60417e00bb7abf26_706x88.png) 如果自定義模板內容,必須用div包一下,通過d變量獲取當行數據,更多請查驗后面章節:自定義列表模板 12、列表屬性 給字段列表設置除`templet`以外的其他屬性 生成到form對應字段屬性:`list` 常用的列表屬性:[https://www.layui.com/doc/modules/table.html#cols]() 13、詳情模板 該字段在詳情頁顯示的方式 生成到form對應字段屬性:`detail`的`templet` 可以是一個模板名稱,也可以是一個模板具體自定義代碼 支持的模板同列表 詳情頁除了明確設置為0不顯示,默認都會顯示 14、詳情屬性 給字段詳情設置除`templet`以外的其他屬性 生成到form對應字段屬性:`detail` 一般比較少用 15、列表搜索 設置列表搜索方式,默認都不會做搜索,必須明確指定 生成到form對應字段屬性:`list_filter` ![](https://img.kancloud.cn/52/85/52859471d6a63212a3b12ba431f0d5a3_396x302.png) ~~~ 'title' => [ //... 'list_filter' => [ 'templet' => 'string', 'a' => 'aa', 'b' => 'bb', 'attrs' => ['data-id' => '2'], ], ], ~~~ 16、搜索屬性 給搜索準備一些自定義屬性 生成到form對應字段屬性:`list_filter` 17、搜索標簽屬性 生成搜索標簽的時候的標簽屬性 生成到form對應字段屬性:`list_filter`下`attrs` 18、真實字段 適用于場景:表單需要顯示一個字段(表單),但數據表中并不需要該字段 19、類型 生成到數據表的時候,指定該字段的 數據類型 20、長度/值 生成到數據表的時候,指定該字段的 長度/值 根據你的數據類型:有些類型不能填(text,date...),有些必須填(char,varchar,decimal),有些類型選填(tinyint,int),到底怎么填自行判斷 21、默認值 生成到數據表的時候,指定該字段的 默認值 22、NOT NULL 生成到數據表的時候,指定該字段的 是否允許為空 23、unsigned 生成到數據表的時候,指定整型字段是否 無符號 24、自動增長 如果需要添加主鍵的時候,設置自動增長 25、索引 生成到數據表的時候,指定該字段的索引情況 26、于...之后 用于調整 字段在數據表中的位置 27、數據驗證 用于定義該字段的數據驗證規則 生成到`validate`模型屬性 ![](https://img.kancloud.cn/f5/45/f545328e2616ff293e4ea2b861a0122f_1110x194.png) ~~~ $this->validate = [ 'title' => [ [ 'rule' => ['require'], 'on' => 'add', 'message' => '請填寫', ], [ 'rule' => ['length', '6,16'], ], [ 'rule' => ['unique', 'test'], ], ], ]; ~~~ 支持TP自己所有的規則[http://www.hmoore.net/manual/thinkphp6_0/1037629]() 更多說明,請查看“模型驗證”
                  <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>

                              哎呀哎呀视频在线观看