使用 Yii2 查詢生成器
Yii2 提供了從資料庫中檢索資料的有效方法。考慮具有欄位 emp_id,emp_name 和 emp_salary 的簡單僱員表的示例。為了檢索員工姓名及其工資,我們使用查詢。
select emp_name,emp_salary from employee
要在 Yii2 中生成上述查詢,有很多方法。其中一種方法是使用 yii \ db \ Quer y 物件。
//creates a new \yii\db\Query() object
$query=new \yii\db\Query();
$rows=$query->select(['emp_name','emp_salary']) //specify required columns in an array
->from('employee') //specify table name
->all(); //returns an array of rows with each row being an associative array of name-value pairs.
我們可以使用 foreach 迴圈遍歷 $ rows 陣列中的每個名稱 - 值對。
foreach ($rows as $row) {
echo "Employee Name: ".$row['emp_name'].",Employee Salary: ".$row['emp_salary']."<br>";
}
這將輸出
員工姓名:Kiran,員工薪酬:25000
員工姓名:Midhun,員工薪酬:50000
員工姓名:Jishnu,員工薪酬:20000
員工姓名:Ajith,員工薪水:25000
員工姓名:Akshay,員工薪水:750000
更多例子
假設我們需要找到薪水等於 25000 的員工的名字。我們可以用 sql 編寫查詢
select emp_name from employee where salary=25000
在 Yii2 中,用於生成上述查詢的程式碼
$query=new \yii\db\Query();
$rows=$query->select(['emp_name'])
->from('employee')
->where(['emp_salary'=>25000]) //specify the condition as an associative array where key is column name
->all();
如果我們需要找到薪水大於 25000 的員工姓名,我們可以在 Yii2 中編寫程式碼
$rows=$query->select(['emp_name'])
->from('employee')
->where(['>','emp_salary', 25000])
//Here first element in the above array specify relational operator used, second element specify the table name and third the value itself.
->all();