<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] 本節以數據庫與模型靜態查詢來對比一下二者的區別,來結束本章的學習~ * * * * * #### 2. 二者查詢上的區別: 1. 數據庫查詢:需要在查詢之前設置數據表; 2. 模型查詢:因為已經與數據表綁定,所以不需要事先設置數據表; 3. 數據庫查詢:直接返回一維數組或者二維數組(表中原始數據); 4. 模型查詢:返回數據對象,原始數據保存在屬性$data數組中; 5. 數據庫查詢:直接調用連貫方法生成SQL語句進行查詢; 6. 模型查詢:通過魔術方法間接調用數據庫方法完成查詢。 * * * * * #### 3. 我們用實例來對比二者之間查詢方式的區別 * 創建模型類:/application/index/mode/Staff.php ~~~ <?php namespace app\index\model; //導入模型類 use think\model; class Staff extends model { //自定義模型類代碼 } ~~~ **任務** :查詢年齡age>50,工資低于9000的員工信息(要漲工資了嗎?) * 我們先看一下要查詢的結果是什么? ![](https://box.kancloud.cn/d56d8fe634ec67151a2de4e250d21e10_663x308.png) * 控制器:/application/index/controller/Index.php ~~~ <?php namespace app\index\controller; //導入模型類 use think\Db; use app\index\model\Staff; class Index { public function index(){ //設置查詢條件 $map = []; $map['age'] = ['>',50]; $map['salary'] = ['<',9000]; //數據庫靜態查詢:返回結果集【二維數組】 $result1 = Db::table('tp5_staff')->where($map)->select(); //模型靜態查詢:返回結果集【數據對象數組】 $result2 = Staff::where($map)->select(); //輸出數據庫方式獲取的結果集 dump($result1); //模型查詢結果是對象數組,必須用循環來遍歷 foreach ($result2 as $data){ //獲取數據對象原始數據 dump($data -> getData()); } } } ~~~ * 查詢結果: ~~~ //數據庫靜態查詢結果 array(2) { [0] => array(7) { ["id"] => int(1004) ["name"] => string(9) "小龍女" ["sex"] => int(0) ["age"] => int(63) ["salary"] => float(2990) ["dept"] => int(2) ["hiredate"] => string(10) "2010-01-20" } [1] => array(7) { ["id"] => int(1024) ["name"] => string(9) "魯大師" ["sex"] => int(0) ["age"] => int(60) ["salary"] => float(1300) ["dept"] => int(2) ["hiredate"] => string(10) "2012-09-09" } } //模型靜態查詢結果,已用getData()方法處理過 //下面是查詢到的原始數據:二維數組 array(7) { ["id"] => int(1004) ["name"] => string(9) "小龍女" ["sex"] => int(0) ["age"] => int(63) ["salary"] => float(2990) ["dept"] => int(2) ["hiredate"] => string(10) "2010-01-20" } array(7) { ["id"] => int(1024) ["name"] => string(9) "魯大師" ["sex"] => int(0) ["age"] => int(60) ["salary"] => float(1300) ["dept"] => int(2) ["hiredate"] => string(10) "2012-09-09" } ~~~ >[warning] 可以看出:二者查詢結果完全一致 * * * * * #### 4. 總結 >[success] 如果僅是簡單的增、刪、改、查操作,數據庫查詢完全可以滿足要求。如果涉及到字段驗證或復雜邏輯,必須要用模型來解決。實際上在開發,我們要堅持始終用模型操作數據庫,以應對復雜多變的開發需求。
                  <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>

                              哎呀哎呀视频在线观看