**Active Record**(活動記錄,以下簡稱AR)提供了一個面向對象的接口, 用以訪問數據庫中的數據。一個 AR 類關聯一張數據表, 每個 AR 對象對應表中的一行,對象的屬性(即 AR 的特性Attribute)映射到數據行的對應列。 一條活動記錄(AR對象)對應數據表的一行,AR對象的屬性則映射該行的相應列。 您可以直接以面向對象的方式來操縱數據表中的數據
**Model**模型是 MVC 模式中的一部分, 是代表業務數據、規則和邏輯的對象。可通過繼承 yii\\base\\Model 或它的子類定義模型類
Model 類是高級模型Active Record活動記錄的基類
~~~
class ActiveRecord extends BaseActiveRecord{
}
~~~
然后:BaseActiveRecord繼承Model
~~~
abstract class BaseActiveRecord extends Model implements ActiveRecordInterface
{
}
~~~
所以說,ActiveRecord是Model的子類
關于什么時候用,我說下我個人的理解:如果你需要跟數據庫打交道,那你繼承ActiveRecord,否則,你繼承Model,當然,由于AR繼承自Model,所以它同樣也支持Model的數據輸入、驗證等特性。
如果你看了官方提供的例子,你會發現,登錄的時候,是有一個LoginForm的model,它就是直接繼承Model的。而驗證用戶名密碼則交給繼承ActiveRecord的AR類。
LoginForm只做驗證,而不跟數據庫打交道,而AR的實現類跟數據庫打交道。。
表達能力有限..... 其實你看看官方提供的例子,你大概知道什么時候繼承ActiveRecord什么時候繼承Model
- 目錄
- 配置
- 簡介
- 別名
- gii
- 配置項
- 模型
- 簡介
- 增刪改查
- AR和model
- 模型事件
- 場景
- query查詢
- 增刪改
- AR查詢器
- 模型關系定義
- AR模型連表查詢
- fields
- where拼接
- 模塊
- 創建模塊
- 控制器
- 表單
- 跳轉
- 響應
- 驗證器
- Action
- 組件
- url
- 分頁
- 驗證碼
- 緩存
- 文件上傳
- 預啟動組件
- 事件
- 自定義組件
- redis
- 日志
- 行為
- cookie和session
- 基礎知識
- 創建一個類
- 配置一個類
- object基類
- component組件類特性
- phpstorm無法更改php等級
- url地址美化
- 過濾器
- 請求處理
- 請求組件
- 響應組件
- header
- 用戶登錄
- 實現IdentityInterface接口
- 登錄
- 自動檢測登錄
- 獲取用戶信息
- 訪問行為追蹤
- phpstorm+postman斷點調試