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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                了解如何定義和調用模型后,我們來具體了解下模型的使用。 模型和Db操作的一大顯性區別就是一個是對象操作和一個是數組操作,下面以一個user數據表的查詢、取值、設置和更新的例子,來說明下兩種方式的區別。 首先回顧下Db類的用法: ~~~ // 查詢操作 $user = Db::table('user')->find(1); // 取值操作 echo $user['name']; echo $user['email']; // 設置操作 $user['name'] = 'topthink'; $user['email'] = 'thinkphp@qq.com'; // 更新操作 Db::table('user')->update($user); ~~~ 如果是模型操作的話,可以: ~~~ // 查詢操作 $user = User::get(1); // 取值操作 echo $user->name; echo $user->email; // 設置操作 $user->name = 'topthink'; $user->email = 'thinkphp@qq.com'; // 更新操作 $user->save(); ~~~ 由于模型類實現了ArrayAccess接口,因此一樣可以使用數組方式操作: ~~~ // 查詢操作 $user = User::get(1); // 取值操作 echo $user['name']; echo $user['email']; // 設置操作 $user['name'] = 'topthink'; $user['email'] = 'thinkphp@qq.com'; // 更新操作 $user->save(); ~~~ 如果是在模型內部進行取值和設置操作怎么辦?正確的獲取方式應該是: ~~~ // 模型內部讀取數據 echo $this->getData('name'); echo $this->getAttr('email'); // 模型內部設置數據 $this->data('name','thinkphp'); $this->setAttr('email','thinkphp@qq.com'); ~~~ 以name屬性為例,獲取模型數據的方式有下列三種: |場景|方法| | --- | --- | |外部獲取模型數據|$model->name| |內部獲取模型數據|$this->getAttr('name')| | 內部獲取(原始)模型數據|$this->getData('name')| getData和getAttr方法的區別前者是原始數據,后者是經過讀取器處理的數據,如果沒有定義數據讀取器的話,兩個方法的結果是相同的。 對應的設置模型數據的方式也有三種: |場景|方法| | --- | --- | |外部設置模型數據|$model->name='thinkphp'| |內部設置模型數據(經過修改器)|$this->setAttr('name','thinkphp')| |內部設置模型數據|$this->data('name','thinkphp')| data和setAttr方法的區別前者是賦值最終數據,后者賦值的數據還會經過修改器處理,如果沒有定義修改器的話,兩個方法的結果是相同的。 對象化操作的神奇是可以級聯讀取或者設置,例如: ~~~ // 查詢操作 $user = User::get(1); // 取值操作 echo $user->name; echo $user->email; // 關聯取值 echo $user->role->name; echo $user->contact->phone; // 設置操作 $user->name = 'topthink'; $user->email = 'thinkphp@qq.com'; // 更新操作 $user->save(); // 關聯設置 $user->role->name = 'admin'; $user->role->save(); $user->contact->phone = '123456789'; $user->contact->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>

                              哎呀哎呀视频在线观看