<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 查詢單個數據 查詢單個數據使用`find`方法: ~~~ // table方法必須指定完整的數據表名 Db::table('think_user')->where('id', 1)->find(); ~~~ 最終生成的SQL語句可能是: ~~~ SELECT * FROM `think_user` WHERE `id` = 1 LIMIT 1 ~~~ > `find `方法查詢結果不存在,返回 `null`,否則返回結果數組 如果希望查詢數據不存在的時候返回空數組,可以使用 ~~~ // table方法必須指定完整的數據表名 Db::table('think_user')->where('id', 1)->findOrEmpty(); ~~~ 如果希望在沒有找到數據后拋出異常可以使用 ~~~ Db::table('think_user')->where('id', 1)->findOrFail(); ~~~ 如果沒有查找到數據,則會拋出一個`think\db\exception\DataNotFoundException`異常。 >[danger] 如果沒有任何的查詢條件 并且也沒有調用`order`方法的話 ,`find`查詢不會返回任何結果。 ## 查詢數據集 查詢多個數據(數據集)使用`select`方法: ~~~ Db::table('think_user')->where('status', 1)->select(); ~~~ 最終生成的SQL語句可能是: ~~~ SELECT * FROM `think_user` WHERE `status` = 1 ~~~ > `select` 方法查詢結果是一個數據集對象,如果需要轉換為數組可以使用 ~~~ Db::table('think_user')->where('status', 1)->select()->toArray(); ~~~ 如果希望在沒有查找到數據后拋出異常可以使用 ~~~ Db::table('think_user')->where('status',1)->selectOrFail(); ~~~ 如果沒有查找到數據,同樣也會拋出一個`think\db\exception\DataNotFoundException`異常。 >[danger] 如果在select查詢 如果設置了數據表前綴參數的話,可以使用 ~~~ Db::name('user')->where('id', 1)->find(); Db::name('user')->where('status', 1)->select(); ~~~ >[info] 如果你的數據表沒有設置表前綴的話,那么`name`和`table`方法效果一致。 在`find`和`select`方法之前可以使用所有的鏈式操作(參考鏈式操作章節)方法。 ## 值和列查詢 查詢某個字段的值可以用 ~~~ // 返回某個字段的值 Db::table('think_user')->where('id', 1)->value('name'); ~~~ > value 方法查詢結果不存在,返回 null 查詢某一列的值可以用 ~~~ // 返回數組 Db::table('think_user')->where('status',1)->column('name'); // 指定id字段的值作為索引 Db::table('think_user')->where('status',1)->column('name', 'id'); ~~~ 如果要返回完整數據,并且添加一個索引值的話,可以使用 ~~~ // 指定id字段的值作為索引 返回所有數據 Db::table('think_user')->where('status',1)->column('*','id'); ~~~ > `column `方法查詢結果不存在,返回空數組 ## 數據分批處理 如果你需要處理成千上百條數據庫記錄,可以考慮使用`chunk`方法,該方法一次獲取結果集的一小塊,然后填充每一小塊數據到要處理的閉包,該方法在編寫處理大量數據庫記錄的時候非常有用。 比如,我們可以全部用戶表數據進行分批處理,每次處理 100 個用戶記錄: ~~~ Db::table('think_user')->chunk(100, function($users) { foreach ($users as $user) { // } }); ~~~ 你可以通過從閉包函數中返回`false`來中止對后續數據集的處理: ~~~ Db::table('think_user')->chunk(100, function($users) { foreach ($users as $user) { // 處理結果集... if($user->status==0){ return false; } } }); ~~~ 也支持在`chunk`方法之前調用其它的查詢方法,例如: ~~~ Db::table('think_user') ->where('score','>',80) ->chunk(100, function($users) { foreach ($users as $user) { // } }); ~~~ `chunk`方法的處理默認是根據主鍵查詢,支持指定字段,例如: ~~~ Db::table('think_user')->chunk(100, function($users) { // 處理結果集... return false; },'create_time'); ~~~ 并且支持指定處理數據的順序。 ~~~ Db::table('think_user')->chunk(100, function($users) { // 處理結果集... return false; },'create_time', 'desc'); ~~~ >[danger] `chunk`方法一般用于命令行操作批處理數據庫的數據,不適合WEB訪問處理大量數據,很容易導致超時。 ## 游標查詢 如果你需要處理大量的數據,可以使用新版提供的游標查詢功能,該查詢方式利用了PHP的生成器特性,可以大幅減少大量數據查詢的內存開銷問題。 ~~~ $cursor = Db::table('user')->where('status', 1)->cursor(); foreach($cursor as $user){ echo $user['name']; } ~~~ `cursor`方法返回的是一個生成器對象,`user`變量是數據表的一條數據(數組)。
                  <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>

                              哎呀哎呀视频在线观看