tp中讓頭疼似懂非懂的create,tp似懂非懂create
項目中多次用到create() 只能它是表單驗證,不過好出錯,痛下心扉好好瞭解理解它的來龍去脈和所用的用法
一:通過create() 方法或者 賦值的方法產生資料對象,然後寫入資料庫
1 $model = D('User');2 $model->create(); //略過具體的自動產生和驗證判斷3 $model->add()
1:create()方法還支援其他方式建立資料對象:如,其他的資料對象或者數組
1 $data['name'] = 'Mike'; 2 $data['sex'] = 'male'; 3 $user->create($data);
2: 建立完成的資料可以直接讀取和修改
3: create的第二個操作方法可以指定建立資料的操作狀態,預設是自動判斷是寫入還是更新操作
4: 如果沒有定義自動驗證的話,create方法傳回值是建立完成的資料對象數組
5:create方法建立的資料對象時儲存在記憶體中,並沒有實際寫入到資料庫中,直到使用add或則save方法才會真正寫入到資料庫
二:用於寫入:field()和create()結合使用,檢測欄位的合法性(表單提交)
1 $model->field('title,email,content')->create();
合法欄位只有title,email,content,無論使用者通過什麼手段添加其他欄位都會屏蔽掉。
三:自動驗證,是模型層提供的一種資料驗證方法,create建立資料對象的時候自動進行資料驗證:具體分為靜態和動態方式
四:create() 在建立資料對象的同時,完成一系列的工作,工作流程
| 步驟 |
說明 |
返回 |
| 1 |
擷取資料來源(預設是POST數組) |
|
| 2 |
驗證資料來源合法性(非數組或者對象會過濾) |
失敗返回false |
| 3 |
檢查欄位對應 |
|
| 4 |
判斷資料狀態(新增或者編輯,指定或者自動判斷) |
|
| 5 |
資料自動驗證 |
失敗返回false |
| 6 |
表單令牌驗證 |
失敗返回false |
| 7 |
表單資料賦值(過濾非法欄位和字串處理) |
|
| 8 |
資料自動完成 |
|
| 9 |
產生資料對象(儲存在記憶體) |
|
http://www.bkjia.com/PHPjc/940337.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/940337.htmlTechArticletp中讓頭疼似懂非懂的create,tp似懂非懂create 項目中多次用到create() 只能它是表單驗證,不過好出錯,痛下心扉好好瞭解理解它的來龍去脈...