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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 模型添加·思路分析 > 模型添加思路分析(變動三張表): 1、數據表models中一條模型記錄 2、數據表models_field中添加公共字段(系統字段為1,公共字段對應模型ID) 3、添加新模型的數據表(私有字段) ## 1、判斷數據表是否存在 ~~~ $data = input('post.'); if(trim($data['tablename'])==''){ return error('新模型表名不能為空!'); exit(); } ~~~ ## 2、判斷新模型是否存在(數據表models中是否存在相應的模型信息) ~~~ $models = new ModelsModel; if($models::where('tablename',$data['tablename'])->count()){ return error('模型已經存在!'); exit(); } ~~~ ## 3、判斷新模型數據表是否存在(數據庫中是否有新的模型數據表) ~~~ $tables = $models->list_tables(); if(in_array(config('database.prefix').$data['tablename'],$tables)){ return error('模型數據表已經存在!'); exit(); } ~~~ #### 自定義函數list_tables() //models模型方法 ~~~ //返回數組格式的全部表名 public function list_tables(){ $tables = array(); $data = Db::query('SHOW TABLES'); foreach ($data as $value) { $tables[] = $value['Tables_in_'.config('database.database')]; } return $tables; } ~~~ ## 4、添加模型信息(功能比較復雜:完成前三步) ### // 第1步:新增models數據表記錄 ~~~ if($this->allowField(true)->save($data)){ return true; }else{ return false; } ~~~ ### // 第2步:在models_field數據表中添加公共字段信息 ~~~ const newModelSql = './data/sfox_newmodel.sql'; $dbPrefix = config('database.prefix');//獲取表前綴 //讀取新模型公共字段的SQL文件 $newModelSql = file_get_contents(self::newModelSql); //表前綴的替換 $sqlSplit = str_replace(array('@cmsprefix@','@modelid@','@cmstablename@'),array($dbPrefix,$this->id,$data['tablename']),$newModelSql); //批量執行sql $sqlSplitArray = explode('--',$sqlSplit); foreach ($sqlSplitArray as $value) { Db::execute($value); } return true; ~~~ # 模型的相關代碼(片段) ## 【獲取模板信息】 > 位置:項目根目下新建文件夾(template\default\temp) 模板:三個模板文件(category.html;list.html;content.html) 獲取:控制器中讀取顯示模板文件(代碼如下) ~~~ $handler = opendir('../template/default/temp'); while( $file = readdir($handler)){ if($file != '.' && $file != '..'){ $files[]['name'] = $file; } } $this->assign('filename',$files); ~~~ ## 【插入數據調整信息:修改器】 ~~~ protected $insert = ['addtime']; //addtime修改器 protected function setAddtimeAttr($value){ return date('Y-m-d H:i:s'); } ~~~ ## 【讀取磁盤文件】 ~~~ const newModelSql = './data/sfox_newmodel.sql'; $newModelSql = file_get_contents(self::newModelSql); ~~~ ## 【獲取模板文件名】 ~~~ $handle = opendir('../template/default/temp/'); while ($file = readdir($handle)) { if ($file != '.' && $file != '..') { $files[]['name'] = $file; } } ~~~
                  <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>

                              哎呀哎呀视频在线观看