<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之旅 廣告
                ## 多數據庫和分布式支持 數據庫配置也支持配置多個數據庫連接,然后通過`connect()`方法動態切換連接。 ~~~ Db::setConfig([ 'mysql' => [...], 'mongo' => [...], ]); Db::connect('mysql')->name('user')->select(); ~~~ 當然,如果需要你仍然可以在`connect`方法中傳入實際的數據庫配置參數(數組)。 支持分布式數據庫,包括讀寫分離,具體可以參考5.1手冊的[分布式數據庫](http://www.hmoore.net/manual/thinkphp5_1/354039) ## CURD操作 數據庫CURD操作的用法和ThinkPHP幾乎一致。 ~~~ use think\Db; // 進行CURD操作 Db::table('user') ->data(['name'=>'thinkphp','email'=>'thinkphp@qq.com']) ->insert(); Db::table('user') ->where('id','>',10) ->order('id','desc') ->limit(10) ->select(); Db::table('user') ->where('id',10) ->update(['name'=>'test']); Db::table('user') ->where('id',10) ->delete(); ~~~ ## 模型 定義模型很簡單,你只需要繼承`think\Model`即可。 ~~~ <?php namespace app\model; use think\Model; class User extends Model { } ~~~ 模型可以單獨定義數據庫連接和對應的表名。 ~~~ <?php namespace app\model; use think\Model; class User extends Model { // 設置當前模型對應的完整數據表名稱 protected $table = 'think_user'; // 設置當前模型的數據庫連接 protected $connection = 'db_config'; // 如果主鍵不是id則需要單獨定義 protected $pk = 'uid'; } ~~~ 模型操作: ~~~ use app\model\User; $user = User::get(1); $user->name = 'thinkphp'; $user->save(); ~~~ 你可以和`ThinkPHP`一樣使用包括獲取器、修改器和搜索器在內的模型功能,具體參考5.1手冊的[模型章節](http://www.hmoore.net/manual/thinkphp5_1/354040)。 ## Db類和模型用法對比 #### 創建Create Db用法 ~~~ Db::table('user') ->insert([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]); ~~~ 模型用法 ~~~ $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save(); ~~~ 批量設置 ~~~ $user = new User; $user->save([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]); ~~~ #### 讀取Read Db用法 ~~~ $user = Db::table('user') ->where('id', 1) ->find(); // 或者 $user = Db::table('user') ->find(1); echo $user['id']; echo $user['name']; ~~~ 模型用法 ~~~ $user = User::get(1); echo $user->id; echo $user->name; ~~~ 模型實現讀取多個記錄 ~~~ // 查詢用戶數據集 $users = User::where('id', '>', 1) ->limit(5) ->select(); // 遍歷讀取用戶數據 foreach ($users as $user) { echo $user->id; echo $user->name; } ~~~ #### 更新Update Db用法 ~~~ Db::table('user') ->where('id', 1) ->update([ 'name' => 'topthink', 'email' => 'topthink@qq.com', ]); ~~~ 模型用法 ~~~ $user = User::get(1); $user->name = 'topthink'; $user->email = 'topthink@qq.com'; $user->save(); ~~~ 或者使用 ~~~ $user = User::get(1); $user->save([ 'name' => 'topthink', 'email' => 'topthink@qq.com', ]); ~~~ 靜態調用 ~~~ User::update([ 'name' => 'topthink', 'email' => 'topthink@qq.com', ], ['id' => 1]); ~~~ #### 刪除Delete Db用法 ~~~ Db::table('user')->delete(1); ~~~ 模型用法 ~~~ $user = User::get(1); $user->delete(); ~~~ 或者靜態實現 ~~~ User::destroy(1); ~~~ `destroy`方法支持刪除指定主鍵或者查詢條件的數據 ~~~ // 根據主鍵刪除多個數據 User::destroy([1, 2, 3]); // 指定條件刪除數據 User::destroy([ 'status' => 0, ]); // 使用閉包條件 User::destroy(function ($query) { $query->where('id', '>', 0) ->where('status', 0); }); ~~~ 更多模型用法可以參考5.1完全開發手冊的[模型](http://www.hmoore.net/manual/thinkphp5_1/354041)章節 ## 查詢緩存 由于`think-orm`包沒有內置緩存類,所以如果你需要使用查詢緩存功能,必須設置緩存對象。 ~~~ // 你可以實例化自己的緩存類 假設為Cache $cache = new Cache(); // 設置查詢緩存對象 Db::setCacheHandler($cache); ~~~ 現在你就可以使用數據庫的查詢緩存功能了。 ## 功能擴展 如果你覺得內置的查詢類功能不能滿足需求,可以自己擴展一個`think\db\Query`類的子類(例如`app\db\Query`),然后使用 ~~~ // 設置查詢對象類 Db::setQuery('app\db\Query'); ~~~ ## 獲取SQL日志 你可以通過下面的方法獲取當前請求的SQL日志 ~~~ $sqlHistory = Db::getSqlLog(); ~~~
                  <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>

                              哎呀哎呀视频在线观看