>模型的特點:
屬性:代表普通的雷屬性或陣列,能被訪問的業務資料
屬性標籤:制定屬性顯示出來的標籤
塊賦值:支援一步給許多屬性賦值
驗證規則則:確保輸入資料符合所宣告的驗證規則
資料匯出:允許模型資料匯出為自定義格式的陣列
>屬性
>>屬性的訪問方式
$model['name']
$model->name
迭代器遍歷模型(輸出了鍵值對)
foreach($model as $name=>$value)
>場景
>>模型可以在多個場景下使用,確保了在不同場景下驗證規則不同。也可以在屬性塊賦值是使用
在例項化過程中,場景作為屬性進行設定
$model = new user;
$model->scenario = 'login';
在例項化過程中,場景作為構造初始化配置的引數進行設定
$model = usre(['scenario'=>'login']);
具體場景的實現過程:
use yii\db\activerecord;
class user extends activerecord
}scenarios()返回陣列,陣列名為場景名,值為或從屬性。
上圖表示,在login場景中,有兩個驗證被啟用,在註冊時,有三個屬性的驗證被啟用
>驗證標籤
// 使用者輸入資料賦值到模型屬性
if ($model->validate()) else
//呼叫validate()函式進行驗證
public function rules()
//呼叫入rules()函式實行相關的驗證規則
>塊賦值
可以使用load函式直接塊賦值$model->load($model_another)
>>在rules驗證規則中,有乙個safe的屬性,表示資料是安全的可以不用被驗證
public function rules()
>>可以定義不安全的驗證方式
public function scenarios()
對secret屬性賦值
$model->secret = $secret;
>資料的匯出
匯出為json格式或者excel格式
第一步,模型轉換為陣列
yii\base\model::toarray()與attributes相同
此方法與下同(呼叫attributers()函式)
100);
$array = $post->attributes;
第二步,陣列轉換為所需要的格式
$array = $model->toarray(, [
'prettyname'
,'fulladdress'
]); 可以返回fields(字段)方法中定義的所有欄位和extrafields()方法定義的prettyname and fulladdress欄位
//一下方法定義了資料表的字段對應的模型屬性名
public function fields()
, ];
}
>yii\base\model
>>使用到的屬性
$attributes array attribute 'name=>value'
$scenario string the scenario tha thsi model is in
$validators all the validatos declarid in the model
屬性相關的方法
activeattributes()
before/aftervalidate()
extrafielda()
fields()
gemerateattributelabel()
get系列函式
getactivevalidators()
getattrbutelabel()
getattibutes
getscenario()
getvalidators()
hasmethod()
hasproperty()
init()
isattributeactive()
isattributerequired()
isattirbutesafe()
load/validata/scnario
load()
loadmutiple()
validate()
balidatemultiple()
toarray()
trigger()
scenarios()
setattributes()
setscnario()
>用法總結
>類的使用進度
yii\base\model
yii中資料模型的使用
模型是 cmodel 或其子類的例項。模型用於保持資料以及與其相關的業務邏輯。模型是單獨的資料物件。它可以是資料表中的一行,或者乙個使用者輸入的表單。yii資料庫操作使用的是pdo,所以使用yii的時候必須保證你的php.ini中pdo是開啟狀態。乙個資料表對應乙個資料模型,所以有多少張表就對應多少...
結構在Loadrunner中的應用
在實際工作中,很多情況我們需要將不同型別的資料組織起來一起應用,比如 學校在期末考試結束後,通常都要進行學生成績的填報和查詢工作。乙個一年級小學生的資訊通常包括 姓名 學號 性別 年齡 語文成績 數學成績等。姓名 性別是乙個字元型別的資料,而年齡 學號為整數型別,語文成績 數學成績通常都為單精度浮點...
經典資料結構系列之 佇列的應用
1 前言 資料結構,是計算機程式設計中對資料儲存最基本的操作,不同的資料結構適用不同的業務場景。如今大部分情況都是呼叫開發api封裝好的類庫,直接呼叫,幾乎不需要程式設計師再去深究其中背後實現的邏輯,大大簡化和減低了對程式設計師的要求。正是這種,知其然而不知其所以然,導致很多程式設計師缺乏對於底層結...