首頁 > 後端開發 > php教程 > Yii2框架實作資料庫常用操作解析

Yii2框架實作資料庫常用操作解析

不言
發布: 2023-04-01 10:54:02
原創
1764 人瀏覽過

本篇主要介紹了Yii2框架實作資料庫常用操作總結,小編覺得蠻不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

通用:

#
use yii\db\Query;
$query = new Query();
登入後複製

##查詢:

Query:

$rows = (new \yii\db\Query())
      ->select(['code', 'name', 'population'])
      ->from('country')
      ->limit(10)
      ->all();
登入後複製

Select:

$data = $query->select(['code', 'name'])->from('country')->all();

// 调用 yii\db\Query::addSelect() 方法来选取附加字段
    $data = $query->select(['code', 'name'])
      ->addSelect(['population'])->all();
登入後複製

From:

$query->from('country'); 
$query->from(['public.country c']); 
$query->from('public.country c');
登入後複製

#Where:

字串格式,例如:'status=1'

哈希格式,例如: ['status' => 1, 'type' => 2]

運算元格式,例如:['like', 'name', ' test']

andFilterWhere()

orFilterWhere()
登入後複製

Active Record  (活動記錄,以下簡稱AR)提供了一個物件導向的接口, 用以存取資料庫中的資料。一個 AR 類別關聯一張資料表, 每個 AR 物件對應表中的一行,物件的屬性(即 AR 的特性Attribute)對應到資料行的對應列。一筆活動記錄(AR物件)對應資料表的一行,AR物件的屬性則對應該行的對應列。

這裡的增刪改都會用到AR物件進行映射操作。

 增加

#

$country->name = 'UK';
$country->save();
登入後複製

修改

$country = Customer::findOne($id);
$country->email = 'UK';
$country->save(); // 等同于 $country->update();
登入後複製

刪除

#

$country = Country::findOne($id);
$country->delete();
登入後複製

其他

User::find()->all();  //返回所有用户数据;
User::findOne($id);  //返回 主键 id=1 的一条数据; 
User::find()->where(['name' => 'ttt'])->one();  //返回 ['name' => 'ttt'] 的一条数据;
User::find()->where(['name' => 'ttt'])->all();  //返回 ['name' => 'ttt'] 的所有数据;
User::findBySql('SELECT * FROM user')->all(); //用 sql 语句查询 user 表里面的所有数据;
User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 语句查询 user 表里面的一条数据;
User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id');  //统计符合条件的总条数;
User::find()->one();  //返回一条数据;
User::find()->all();  //返回所有数据;
User::find()->count();  //返回记录的数量;
User::find()->average();  //返回指定列的平均值;
User::find()->min();  //返回指定列的最小值 ;
User::find()->max();  //返回指定列的最大值 ;
User::find()->scalar();  //返回值的第一行第一列的查询结果;
User::find()->column();  //返回查询结果中的第一列的值;
User::find()->exists();  //返回一个值指示是否包含查询结果的数据行;
登入後複製

#以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

yii2元件實作下拉框帶搜尋功能

Yii2如何實作同時搜尋多個欄位

關於Yii基於陣列和物件的Model查詢

以上是Yii2框架實作資料庫常用操作解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板