首頁  >  文章  >  後端開發  >  thinkphp5的不同資料所添加的規則

thinkphp5的不同資料所添加的規則

jacklove
jacklove原創
2018-06-15 11:16:101919瀏覽

在admin系統管理員新增資料表中,由於不同的資料會有不同的新增方式,不同的資料也有不同的資料庫儲存類型,以下是常見幾種不同類型的資料新增規則//未註明的資料庫儲存的資料類型皆為char

1.簡單文字類別新增(姓名、年齡、名稱、簡介等)

add.html程式碼段

<p class="col-sm-6">
                                <input class="form-control" id="username" placeholder="" name="username"  type="text">
                            </p>

Admin.php函數部分

 public function add()
    {   
        if(request()->isPost()){            $data=[//将输入的值赋值给数组
                &#39;username&#39;=>input(&#39;username&#39;),                &#39;password&#39;=>input(&#39;password&#39;),
            ];            $validate = \think\Loader::validate(&#39;Admin&#39;);//验证环节
            if(!$validate->scene(&#39;add&#39;)->check($data)){               $this->error($validate->getError()); die;//未通过验证则输出错误
            }            if(db(&#39;admin&#39;)->insert($data)){//添加数据库
                return $this->success(&#39;添加管理员成功!&#39;,&#39;lst&#39;);
            }else{                return $this->error(&#39;添加管理员失败!&#39;);
            }            return;
        }        return $this->fetch();
    }

在validate資料夾中的Admin.php
檔案

<?phpnamespace app\admin\validate;use think\Validate;class Admin extends Validate{
    protected $rule = [//验证条件
        &#39;username&#39;  =>  &#39;require|max:25|unique:admin&#39;,        &#39;password&#39; =>  &#39;require&#39;,
    ];    protected $message  =   [//报错信息
        &#39;username.require&#39; => &#39;管理员名称必须填写&#39;,        &#39;username.max&#39; => &#39;管理员名称长度不得大于25位&#39;,        &#39;username.unique&#39; => &#39;管理员名称不得重复&#39;,        &#39;password.require&#39; => &#39;管理员密码必须填写&#39;,
    ];    protected $scene = [        &#39;add&#39;  =>  [&#39;username&#39;=>&#39;require|unique:admin&#39;,&#39;password&#39;],        &#39;edit&#39;  =>  [&#39;username&#39;=>&#39;require|unique:admin&#39;],
    ];//约束条件所作用的函数域}

新增效果圖

thinkphp5的不同資料所添加的規則

thinkphp5的不同資料所添加的規則

2.長文本編輯新增(文章、序言、簡介等)


長文本通常指的是文章,簡介之類需要進行格式修改的文本,在這裡可以引用一些插件,項目引用的是百度編輯器,將下載好的百度編輯器文件放在public/static/admin之中
如下圖
thinkphp5的不同資料所添加的規則


以下是引用該編輯器的方法

thinkphp5的不同資料所添加的規則

add.html所在的程式碼樣式

 <p class="col-sm-6">
                                 <label >
                                    <textarea name="content"  id="content" ></textarea>
                                 </label>
                            </p>

在控制器中的函數讀取與短文字的方式一樣,因為都是char類型
thinkphp5的不同資料所添加的規則

完成效果圖
thinkphp5的不同資料所添加的規則

#3.0-1選擇新增(性別,yes/no的新增)


#  這裡使用的是beyond.js裡面的插件
如圖
thinkphp5的不同資料所添加的規則


源碼為

 <p class="form-group">
                            <label for="username" class="col-sm-2 control-label no-padding-right">状态</label>
                            <p class="col-sm-6">
                                <select name="gender">
                                   <option value="请选择状态">请选择状态</option>

                                    <option value="已审核">已审核</option>
                                    <option value="未审核">未审核</option>


                                </select>
                            </p>
                        </p>

                         <p class="form-group">
                            <label for="username" class="col-sm-2 control-label no-padding-right">性别</label>
                                <p class="col-sm-6">
                                 <p class="control-group">
                                                <p class="radio">
                                                    <label>
                                                        <input name="form-field-radio" type="radio" class="colored-blue" value="男">
                                                        <span class="text" >男</span>
                                                    </label>
                                                </p>

                                                <p class="radio">
                                                    <label>
                                                        <input name="form-field-radio" type="radio" class="colored-danger"  value="女">
                                                        <span class="text"> 女</span>
                                                    </label>
                                                </p>

                                                <p class="radio">
                                                    <label>
                                                        <input name="form-field-radio" type="radio" class="colored-success"  value="未确定">
                                                        <span class="text"> 未确定</span>
                                                    </label>
                                                </p>


                                            </p>
                                 </p>
                        </p>

這種性別推薦類別最好使用char類型,如果使用整數字元有點麻煩,這種靜態提供選項類別,還有一種分類的類別由資料庫讀入
如下
thinkphp5的不同資料所添加的規則

#html中程式碼如下

  <p class="form-group">
                            <label for="group_id" class="col-sm-2 control-label no-padding-right">所属栏目</label>
                            <p class="col-sm-6">
                                <select name="cateid">
                                    <option value="">请选择栏目</option>
                                    {volist name="cateres" id="vo"}                                    <option value="{$vo.id}">{$vo.catename}</option>
                                    {/volist}                                </select>
                            </p>
                            <p class="help-block col-sm-4 red">* 必填</p>
                        </p>

cates來源Article.php中
如下圖
thinkphp5的不同資料所添加的規則
由於在Article控制器中在modle預設已經連接artcle資料表,但推薦來自其他資料表則在model/Article.php之中利用belongsTo()函數如圖所示建立一對多連接(一個頁面連接多個數據表,自己的理解,好像不太對)如下圖
thinkphp5的不同資料所添加的規則
這樣一個多選的類型就搞好了

4.日期新增(手動新增與自動新增)


 日期新增一般資料庫對應的日期類型為
thinkphp5的不同資料所添加的規則


最簡單的就是自動新增
不需要有輸入框,這種新增一般為系統固定時間,或取得目前時間,在控制器之中只需要利用函數或自訂時間,例如使用date(“Y-m-d H:i:s”);取得目前時間

手動新增時間為在輸入框內自行輸入目前時間
需要日期範本插件,例如 layui之中的日期插件
thinkphp5的不同資料所添加的規則

thinkphp5的不同資料所添加的規則

由於需要導入css js等,這裡就不說明了,以後有用到時,我會專門對此進行說明

5.圖片添加


首先是資料庫裡面圖片的型別
thinkphp5的不同資料所添加的規則


add.html中的程式碼

 <p class="form-group">
                            <label for="group_id" class="col-sm-2 control-label no-padding-right">缩略图</label>
                            <p class="col-sm-6">
                                <input id="pic" placeholder="" name="pic"  type="file">
                            </p>
                        </p>

下圖為控制器程式碼,其中有比較詳細的註解(自己的理解)
thinkphp5的不同資料所添加的規則


6.手機號碼、信箱新增


 此處和新增短文字一樣,主要是對輸入的資訊判斷是否為手機號碼或信箱
 在validate/Article.php中
 加入如手冊中類似的驗證資訊進行驗證
thinkphp5的不同資料所添加的規則

本文講解了thinkphp5的不同資料添加的規則,更多相關內容請關注php中文網。

相關推薦:

關於ThinkPHP5資料庫的相關操作

關於ThinkPHP5的資料庫和模型用法

#關於thinkphp5.0資料庫操作的案例

#

以上是thinkphp5的不同資料所添加的規則的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn