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

                ## 模型對象 #### 1.定義:特定數據表字段信息的對象描述; >[info] 從定義可以分析出二點: > 1. 數據表的描述與模型定久是綁定的; > 2. 數據表的字段與模型對象的屬性是綁定的; * * * * * #### 2. 步驟: 1. 創建與數據表對應的模型類; 2. 控制器進行調用; * * * * * #### 3. 實例. 創建與tp5_staff數據表的模型類 1. 創建tp5_staff數據表 * staff數據表結構如下: | 序號 | 字段名 | 類型 | 寬度 | 約束 | 默認值|備注 | | --- | --- | --- | --- | --- | --- | | 1 | id | 整型 | 4位 | 無符號、不為空、自增、主鍵|無 | 編號 | | 2 | name | 變長字符串 | 30位 | 不為空 | 無 |姓名 | | 3 | sex | 整型 | 1位 | 不為空 | 1 |性別1男0女| | 4 | salary |浮點型 | 共10位小數2位 |無符號、不為空 |2000 |工資| | 5 | dept |變長字符串 | 20位 |不為空 | 開發部 |部門| | 6 | hiredate |日期 | 默認 | 不為空 | 0000-00-00 |入職日期| * 創建語句如下: ~~~ CREATE TABLE IF NOT EXISTS staff ( id INT(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '編號', name VARCHAR(30) NOT NULL COMMENT '姓名', sex TINYINT(2) unsigned NOT NULL DEFAULT 1 COMMENT '性別1男0女', salary FLOAT(10,2) NOT NULL DEFAULT 2000.00 COMMENT '工資', dept VARCHAR(20) NOT NULL DEFAULT '開發部' COMMENT '部門' , hiredate DATE NOT NULL DEFAULT '0000-00-00' COMMENT '入職日期', PRIMARY KEY (id) )ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1001; ~~~ 2. 針對該表創建與之對應的模型類: * 第一步:創建模型類:Staff.php * 在應用目錄application的Index模塊下創建model目錄,用來存放模型類文件 * 在/application/index/model/目錄下創建:Staff.php: ~~~ <?php namespace app\index\model; //導入模型類 use think\model; //定義類Staff,繼承model類 class Staff extends model { //此處是自定義模型類代碼,目前為空 } } ~~~ >[warning] model類是抽象類,必須由子類繼承后才可以使用。 ### “就這么簡單,模型創建成功了!” * 第二步: 下面演示如何調用這個模型類Staff: * 創建控制器Index.php: ~~~ <?php namespace app\index\controller; //導入模型類 use app\index\model\Staff; class Index { public function index(){ //創建模型類Staff $model = new Staff(); //查看Staff類實例$model dump($model); } } ~~~ * 第三步: 測試模型對象Staff * 瀏覽器訪問這個控制器: tp5.com/index.php/index/index/index/ * Staff類實例:$model對象內容如下: >[info] 為教學方便,部分注釋比源碼要詳細 ~~~ //該對象共計有28個受保護屬性,必須在本類或子類中使用,外部不能直接使用 object(app\index\model\Staff)#5 (28) { //數據庫配置數組 ["connection":protected] => array(0) { } //數據庫查詢對象,負責最終完成對數據庫的操作 ["query":protected] => NULL //模型名稱 ,創建時自動賦值 ["name":protected] => string(5) "Staff" //與模型綁定的數據表的完整名稱(包括前綴的表名,如:tp5_staff) ["table":protected] => NULL //用命名空間表示的、當前的模型類名:Staff ["class":protected] => string(21) "app\index\model\Staff" //出錯時顯示的信息 ["error":protected] => NULL //字段驗證規則 ["validate":protected] => NULL //數據表主鍵 ["pk":protected] => NULL //數據表字段名列表(與數據表對應) ["field":protected] => array(0) { } //只讀字段列表 ["readonly":protected] => array(0) { } //顯示字段列表 ["visible":protected] => array(0) { } //隱藏屬性字段列表 ["hidden":protected] => array(0) { } //追加屬性列表 ["append":protected] => array(0) { } //與數據表字段對應的信息列表(極其重要) ["data":protected] => array(0) { } //字段修改信息列表 ["change":protected] => array(0) { } //自動完成列表 ["auto":protected] => array(0) { } //新增自動完成列表 ["insert":protected] => array(0) { } //更新自動完成列表 ["update":protected] => array(0) { } // 是否需要自動寫入時間戳 如果設置為字符串 則表示時間字段的類型 ["autoWriteTimestamp":protected] => bool(false) //設置表中:創建時間字段的名稱 ["createTime":protected] => string(11) "create_time" //設置表中:更新時間字段的名稱 ["updateTime":protected] => string(11) "update_time" //設置表中:時間字段的格式 ["dateFormat":protected] => string(11) "Y-m-d H:i:s" //數據表中各字段類型定義 ["type":protected] => array(0) { } //是否是:更新操作 ["isUpdate":protected] => bool(false) //更新條件 ["updateWhere":protected] => NULL //當前執行的關聯條件 ["relation":protected] => NULL //驗證失敗是否拋出異常 ["failException":protected] => bool(false) //全局查詢范圍設置 ["useGlobalScope":protected] => bool(true) } ~~~ * * * * * #### 4. 總結: 1. 目前創建的模型雖然按相關規則,已經與特定數據表綁定了,但是該類的絕大多數屬性的值,仍處于默認或不確定狀態; 2. 現在該模型中有二個屬性值是確定的: * $name //模型名稱 * $class //模型類命名空間,即如何找到這個類 3. 其它的屬性值,在創建數據對象時,會自動獲取。
                  <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>

                              哎呀哎呀视频在线观看