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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 結果檢索 ### [](https://octobercms.com/docs/database/query#retrieving-results)檢索結果 #### 檢索表中的所有行 要開始流利的查詢,請使用外觀`table`上的方法`Db`。該`table`方法為給定的表返回一個流暢的查詢生成器實例,使您可以將更多約束鏈接到查詢上,然后最終獲得結果。在此示例中,讓我們僅`get`查看表中的所有記錄: ~~~ $users = Db::table('users')->get(); ~~~ 像[原始查詢](https://octobercms.com/docs/database/basics#running-queries)一樣,該`get`方法返回`array`結果的,其中每個結果都是PHP`stdClass`對象的實例。您可以通過將列作為對象的屬性來訪問來訪問每個列的值: ~~~ foreach ($users as $user) { echo $user->name; } ~~~ #### 從表中檢索單個行/列 如果只需要從數據庫表中檢索一行,則可以使用該`first`方法。此方法將返回一個`stdClass`對象: ~~~ $user = Db::table('users')->where('name', 'John')->first(); echo $user->name; ~~~ 如果您甚至不需要整行,都可以使用`value`方法從記錄中提取單個值。此方法將直接返回列的值: ~~~ $email = Db::table('users')->where('name', 'John')->value('email'); ~~~ #### 檢索列值列表 如果要檢索包含單個列的值的數組,則可以使用該`lists`方法。在此示例中,我們將檢索一組角色標題: ~~~ $titles = Db::table('roles')->lists('title'); foreach ($titles as $title) { echo $title; } ~~~ 您還可以為返回的數組指定一個自定義鍵列: ~~~ $roles = Db::table('roles')->lists('title', 'name'); foreach ($roles as $name => $title) { echo $title; } ~~~ ### [](https://octobercms.com/docs/database/query#chunking-results)分塊結果 如果您需要處理數千個數據庫記錄,請考慮使用該`chunk`方法。此方法一次檢索一個小的“塊”結果,然后將每個塊饋入`Closure`進行處理。該方法對于編寫可處理數千條記錄的[控制臺命令](https://octobercms.com/docs/console/development)非常有用。例如,讓我們`users`一次以100條記錄的塊來處理整個表: ~~~ Db::table('users')->chunk(100, function($users) { foreach ($users as $user) { // } }); ~~~ 您可以通過返回`false`來停止處理其他塊`Closure`: ~~~ Db::table('users')->chunk(100, function($users) { // Process the records... return false; }); ~~~ 如果在對結果進行分塊時更新數據庫記錄,則分塊結果可能會以意想不到的方式更改。因此,在分塊時更新記錄時,最好總是使用該`chunkById`方法。此方法將基于記錄的主鍵自動對結果進行分頁: ~~~ Db::table('users')->where('active', false) ->chunkById(100, function ($users) { foreach ($users as $user) { Db::table('users') ->where('id', $user->id) ->update(['active' => true]); } }); ~~~ > **注意:**更新或刪除塊回調中的記錄時,對主鍵或外鍵的任何更改都可能影響塊查詢。這可能導致記錄未包含在分塊結果中。 ### [](https://octobercms.com/docs/database/query#aggregates)骨料 查詢生成器還提供了多種聚合方法,如`count`,`max`,`min`,`avg`,和`sum`。您可以在構造查詢后調用以下任何一種方法: ~~~ $users = Db::table('users')->count(); $price = Db::table('orders')->max('price'); ~~~ 當然,您可以將這些方法與其他子句結合使用來構建查詢: ~~~ $price = Db::table('orders') ->where('is_finalized', 1) ->avg('price'); ~~~ #### 確定記錄是否存在 而不是使用的`count`方法,以確定是否有任何記錄存在您搜索條件的限制,你可以使用`exists`和`doesntExist`方法: ~~~ return Db::table('orders')->where('finalized', 1)->exists(); return Db::table('orders')->where('finalized', 1)->doesntExist(); ~~~
                  <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>

                              哎呀哎呀视频在线观看