Yii框架之資料庫配置連線、模型配置、獲取具體資料、執行原生的sql語句
【資料庫操作】
MVC框架
C:controller 控制器
V:view 檢視
M:model 模型
操作資料庫步驟:
1) 建立資料庫php0507、建立資料表、寫入測試資料
2) 通過Yii框架連線資料庫main.php
3) 注意:資料庫內部處理走PDO,因此需要讓php開啟PDO擴充套件。php.ini
4) 測試Yii 框架是否有連結上資料庫
在控制器裡邊隨便一個地方輸出資訊:
var_dump(Yii::app()->db);
紅色文字意思是獲得資料庫元件
Yii::app():Yii框架是純OOP面向物件框架,每次web請求,相當於通過建立一個類的物件,讓物件呼叫相關方法執行。物件是我們框架應用的核心物件,我們也可以通過程式碼獲得這個應用物件
以上資訊出現說明資料庫有連線成功。
【使用資料庫】
現在我們可以對資料庫進行增、刪、改、查操作
MVC,現在我們需要製作model來操作資料庫
建立model模型goods
我們來看看“db”到底是誰?
main.php
Yii框架核心程式碼大約有10000行,有一個檔案將全部核心程式碼整理了。
D:\www\0507\framework\yiilite.php
【使用資料模型goods】
利用模型查詢資料表的資料,在後臺實現商品資訊的查詢
模型:
有多少資料表,就建立多少模型
模型其實就是類
我們對資料庫進行操作,需要例項化模型類,產生物件
通過物件呼叫相關的方法,就可以實現資料庫的操作
CActiveRecord:是活躍記錄,
將資料表的相關內容以“類”的形式呈現出來。
我們學習AR技術。
讓頁面底部產生日誌資訊:
獲得全部商品資訊findAll()
結果是一個大的陣列,裡邊有具體物件元素
我們可以遍歷這個大的陣列。
遍歷出來的結果是具體每條記錄的物件
記錄物件產生了,就可以利用物件呼叫自己的屬性(商品名稱、價格、數量等等)獲得具體資訊
find()會產生一條記錄資訊,其會返回一個直接物件出來
我們可以通過物件呼叫自己的屬性直接獲得具體商品資訊
物件->屬性;
findAll() 返回了一個數組,裡邊有好多物件元素資訊
find() 直接返回了一個物件,可以通過物件獲得具體商品資訊。
【資料資訊展現到檢視模板裡邊】
通過模型獲得商品資訊展現到頁面上
1. 通過模型獲得具體商品資訊
2. 將商品資訊傳遞到檢視模板裡邊renderPartial(’檢視’,被傳遞變數資訊)
3. 在視圖裡邊獲得具體商品資訊展示。
【通過具體sql語句獲得資訊】
AR:findAllBysql();
資料模型:
原則上 一個數據表對應一個模型
模型本質上說就是一個類,
我們對資料庫操作需要通過這個類實現,
進而需要例項化這個類,產生物件
物件可以呼叫類裡邊的相關方法,進而對資料庫進行操作
AR:CActiveRecord, 活躍記錄,就是模型,就是類
model
【通過模型model實現資料的新增】
我們操作資料庫,需要通過模型建立物件來操作
物件呼叫相關的方法,實現資料的操作
當我們建立一個物件,這個物件就代表資料表裡邊的一條記錄。
資料表的欄位,就是我們建立模型物件的屬性
如何新增資料呢
我們把模型物件的屬性資訊設定好,就可以實現資料的新增。
【利用頁面表單實現資料新增】
利用助手進行表單展現
助手:利用php程式來生成html程式碼。
Yii裡邊稱助手是“小物件”widget
通過widget小物件建立新增商品的表單
<?php echo $form -> labelEx($goods_model, 'goods_name') ?>
<?php echo $form -> labelEx($goods_model, 'goods_weight') ?>
等等。
表單校驗:
內容總結
資料庫操作
1. yii框架連線資料庫main.php(db元件的配置)
2. 製作資料模型model
3. 我們通過資料模型對資料庫進行查詢和新增資訊操作。
4. 通過小物件生成form表單