<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之旅 廣告
                > ## 在控制器中調用模型進行查詢數據 ### 1. 獲取單條數據 **在模型內部,請不要使用$this->name的方式來獲取數據,請使用$this->getAttr('name') 替代。** ```php // 根據主鍵查詢 $user = User::get(1); echo $user->name; // 根據數組條件查詢 $user = User::get(['name' => 'thinkphp']); // 使用閉包函數查詢 $user = User::get(function($query){ $query->where('name', 'thinkphp'); }); // 實例化之后調用查詢方法 $user = new User(); $user->where('name', 'thinkphp') ->find(); ``` ### 2. 獲取多條數據 ```php // 根據主鍵獲取(可以傳入字符串或數組) $list = User::all('1,2,3'); $list = User::all([1,2,3]); foreach($list as $key=>$user){ echo $user->name; } // 使用數組條件查詢 $list = User::all(['status'=>1]); // 使用閉包查詢 $list = User::all(function($query){ $query->where('status', 1)->limit(3)->order('id', 'asc'); }); foreach($list as $key=>$user){ echo $user->name; } // 實例化對象之后調用查詢方法 $user = new User(); $user->where('name', 'thinkphp') ->limit(10) ->order('id', 'desc') ->select(); ``` ### 3. 獲取單個字段值或者單個列的值 ```php // 獲取單個值 User::where('id',10)->value('score'); // 獲取某個列的所有值 User::where('status',1)->column('name'); // 以id為索引 (適合構造key=>value組合) User::where('status',1)->column('name','id'); User::where('status',1)->column('id,name'); // 同tp3的getField ``` ### 4. 動態查詢(即根據某個字段值進行快捷查詢) ``` // 根據name字段查詢用戶 $user = User::getByName('thinkphp'); // 根據email字段查詢用戶 $user = User::getByEmail('thinkphp@qq.com'); ``` ### 5.通過Query類進行查詢(即鏈式操作) ``` User::where('id','>',10)->select(); User::where('name','thinkphp')->find(); ``` ### 6. 批量查詢(針對大數據量) ``` User::chunk(100,function($users){ foreach($users as $user){ // 處理user模型對象 } }); ``` ### 7. 對查詢進行緩存 ``` // get和all的第三個參數表示開啟查詢緩存 $user = User::get(1,'',true); $list = User::all('1,2,3','',true); ``` ### 8. 主庫讀取(采用分布式數據庫時,如果剛插入數據立刻查詢是查不到的,因為從庫還沒有更新數據,這時候應該從主庫進行獲取) ``` // 第一種方案: $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save(); // 從主庫讀取數據 $user->master()->get($user->id); // 第二種方案: // 5.0.19+之后可以在數據庫配置文件進行定義 // 主庫寫入后從主從庫讀取 'read_master' => true // 第三種方案: $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->readMaster()->save(); // 后續該模型的操作從主庫讀取數據 // 后續所有模型的查詢都從主庫讀取數據 $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->readMaster(true)->save(); ```
                  <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>

                              哎呀哎呀视频在线观看