1.首先理解以下三個的返回型別:
2.下面詳細說一些常用的查詢:find() 返回值是乙個activequery()物件
hasone() 與 hasmany() 返回值是 yii\db
\activequery instance
activedataprovider 返回的值是 yii\db
\activequery instance
2.1.查詢單條使用者記錄:
2.2. 查詢單列資料findone() 與 find
()->where()的區別
前者根據條件查詢一條記錄,後者根據條件查詢一條或多條記錄
前者的引數可以是主鍵,或鍵值對,後者引數必須是鍵值對。因此:
user::findone($id);
等價於 user::findone(['id'
=> $id]);
等價於 user::find()->where(['id' => $id])->one();
等價於 user::findbysql('select * from user')->one(); //這個查詢不完全等同於以上三個
2.3.查詢多列資料#查詢一列,返回物件陣列
user::find()->select('id')->all();
array(1)
#查詢一列,返回陣列
user::find()->select('id')->asarray()->all();
array(1)
}#查詢一列之和
user::find()->select('salary')->sum('salary');
2.4.查詢多條記錄:/*query查詢*/
$query = (new \yii\db\query())
->select('id, name')
->from('user')
->limit(10);
/*activerecord查詢*/
user::find()->select('username,email')->one();
#返回結果是物件,如下:
object(common\models\user)#116 (8)
獲取資料為,$user->username, $user->email
/*返回所有記錄*/
user::find()->all();
/*查詢滿足條件 [單個條件,多個條件] 的多條記錄*/
user::find()->where(['***' => 'male'])->all();
/*統計查詢,在查詢後加count方法,統計查詢結果中的記錄數量*/
user::find()->count();
2.5.關聯查詢/*排序查詢,根據id查詢一條最新註冊的使用者記錄*/
user::find()->orderby(['id'
=> sort_desc, 'created_at'
=> sort_desc]);
2.6.dataprovider查詢/*包含中間表的1:n查詢*/
public
function
getlectures
()/* 1:n 查詢*/
public
function
getteachs
()/* 1:1 查詢*/
public
function
getcategory
()
public
function
getsupporters
()
Yii 2 0常用方法記錄
headers is an object of yii web headercollection returns the accept header value accept headers get accept if headers has user agent if session isacti...
yii 2 0 寫入日誌
首先,我們的 web.php 配置檔案中,更改於下 log tracelevel yii debug 3 0,targets class yii log filetarget levels error warning trace 在 levels 中,增加了 trace,使用如下 yii trace...
yii 2 0 寫入日誌
首先,我們的 web.php 配置檔案中,更改於下 log tracelevel yii debug 3 0,targets class yii log filetarget levels error warning trace 在 levels 中,增加了 trace,使用如下 yii trace...