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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > 現在我們先來一個無限極分類的函數。我們在Application下新建一個Cate/Model目錄,把它寫在Model目錄中。 作為調試我們先不用把Thinkphp的類庫放到base.php或者是Common.php中,CateModel.php中我們封裝底層php函數,在Controller.php寫業務代碼。 我們來引用一個think\db\query->order函數,看看他是怎么寫的 > /** > * 指定排序 order('id','desc') 或者 order(['id'=>'desc','create_time'=>'desc']) > * @access public > * @param string|array $field 排序字段 > * @param string $order 排序 > * @return $this > */ > public function order($field, $order = null) > { > if (!empty($field)) { > if (is_string($field)) { > if (!empty($this->options['via'])) { > $field = $this->options['via'] . '.' . $field; > } > $field = empty($order) ? $field : [$field => $order]; > } elseif (!empty($this->options['via'])) { > foreach ($field as $key => $val) { > if (is_numeric($key)) { > $field[$key] = $this->options['via'] . '.' . $val; > } else { > $field[$this->options['via'] . '.' . $key] = $val; > unset($field[$key]); > } > } > } > if (!isset($this->options['order'])) { > $this->options['order'] = []; > } > if (is_array($field)) { > $this->options['order'] = array_merge($this->options['order'], $field); > } else { > $this->options['order'][] = $field; > } > } > return $this; > } 然后我們發現這個order函數是能用mysql的查詢方法。沒有辦法顯示我們更高的逼格的排序算法,后臺將就著先用。 <?php namespace app\admin\Model; use think\Model; class Cate extends Model { /** * 逆序讀取id * @return [type] [description] */ public function cateTree() { $data = $this->order('id desc')->select(); return $this->reSort( $data); } /** * 將數組分化成樹 * @param [type] $data 傳入的鏈接 * @param integer $pid 父類id * @param integer $level 樹層級 * @return [array] cate樹 */ public function reSort($data, $pid = 0, $level = 0){ static $listTree = array(); foreach( $data as $key => $value) { if( $value['pid'] == $pid) { $value['level'] = $level; $listTree[] = $value; unset( $data[$key]); $this->reSort( $data, $value['id'], $level+1); } } return $listTree; } /** * 取得父節點的children */ public function getChildId( $cates, $cateid) { static $list = array(); foreach( $cates as $key => $value) { if ( $value['id'] == $cateid) { $listTree = $value['id']; $this->getChildId( $cates, $value['id']); } } return $list; } }
                  <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>

                              哎呀哎呀视频在线观看