<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Yii2模型 [TOC] 模型需要繼承自`yii\db\ActiveRecord`。 ## 普通SQL查詢 使用PDO的占位符方式,防止sql注入。 ```sql <?php namespace app\controllers; use app\models\Article; use yii\web\Controller; class HomeController extends Controller { public function actionIndex() { $id = \Yii::$app->request->get('id'); $sql = 'select * from article where id=:id'; $articles = $article = Article::findBySql($sql,[':id'=>$id])->all(); } } ``` ## 使用模型連貫操作 ### 查詢所有數據 獲取`article`表中所有數據。 ```php $articles = Article::find()->all(); ``` ### 條件限制獲取數據 以下查詢`id`為數據表主鍵。 #### 查詢單條數據 我們可以使用`where()`進行條件拼接查詢也可以通過`findOne()`方法進行查詢。 ```php $article = Article::find()->where(['id'=>5])->one(); $article = Article::findOne(5); $article = Article::findOne(['id'=>5]); ``` #### 查詢`id`為`3`、`4`和`5`的數據 使用`findAll()`方法進行查詢。 ```php $articles = Article::findAll([3,4,5]); ``` #### 查詢大于`3`的數據 ```php $articles = Article::find()->where(['>','id',3])->all(); ``` #### 查詢大于`2`且小于`5`的數據 ```php $articles = Article::find()->where(['between','id',2,5])->all(); ``` #### 模糊查詢 根據其他字段進行模糊查詢,如根據`title`字段進行模糊查詢。 ```php $articles = Article::find()->where('like','title','模糊')->all(); ``` ### 將查詢數據對象轉成數組   在Laravel框架中,我們可以在使用連貫查詢的時候使用`toArray()`方法將查詢的數據對象轉換成數組,方便使用。   那么在Yii2中,我們可以使用`asArray()`得到同樣的效果。當然,如果查詢的數據量比較大的話這樣做能節省服務器內存,如: ```php $article = Article::find()->asArray()->all(); ``` ### 模型數據的新增 通過`add()`或者`save()`方法將數據寫入到數據表,執行成功后它們返回的都是`true`。 ```php public function actionCreate() { $article = new Article; $article->title = 'insert title'; $article->views = 12; $article->save(); // 也可以使用 $article->add(); // 獲取寫入的數據id $id = $article->attributes['id']; } ``` ### 模型數據的刪除 #### 刪除單條數據 ```php $article = Article::findOne(10); $article->delete(); ``` > 成功返回1。 #### 刪除多條數據 ```php Article::deleteAll('id=7'); // 刪除id=7的數據 Article::deleteAll('id=:id',[':id'=>7]); // 同上 Article::deleteAll('id>:id',[':id'=>10]); // 刪除id>10的數據 Article::delteteAll('id>:id AND views < :views',[':id'=>10,':views'=>100]); // 刪除id>10并且查看次數小于100。 ``` ### 模型數據的修改   通過`update()`方法將數據更新到數據表,同時也可通過`save()`方法做同樣的操作。如下: ```php public function actionUpdate() { $article = Article::findOne(9); $article->title = 'update title'; // $res = $article->update(); // 成功返回 1 $res = $article->save(); // 成功返回 true } ``` #### 更新數據表某個字段 更新`id = 9`的數據的`views`字段+1。成功返回1,失敗返回0。 ```php Article::updateAllCounters(['views'=>1],['id'=>9]); ``` > `updateAllCounters()`的第二個參數一定要指定,否則將出現當前表全部被更新的情況。 [TOC]
                  <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>

                              哎呀哎呀视频在线观看