日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

第 39 章 ThinkPHP--CURD 操作

發布時間:2023/11/30 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第 39 章 ThinkPHP--CURD 操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習ThinkPHP 模型中的 CURD 操作,也就是增刪改查。通過 CURD, 我們可以方便快速的對數據庫進行操作。

1.數據創建 2.數據寫入 3.數據讀取 4.數據更新 5.數據刪除

一.數據創建 在數據庫添加等操作之前,我們首先需要對數據進行創建。何為數據創建,就是接受提 交過來的數據,比如表單提交的 POST(默認)數據。接受到數據后,還可以對數據進行有 效的驗證、完成、生成等工作。

//根據表單提交的POST數據,創建數據對象 $user = M('User'); var_dump($user->create()); PS:這里 create()方法就是數據創建,數據的結果就是提交的 POST 數據的鍵值對。

特別注意的是:提交過來的字段和數據表字段是對應的,否則無法解析。

//通過數組手工獲取數據,覆蓋提交的 $user = M('User'); $data['user'] = $_POST['user']; $data['email'] = $_POST['email']; $data['date'] = date('Y-m-d H:i:s');

//和數據表對應,否則無效 var_dump($user->create($data));

//通過對象手工獲取數據,覆蓋提交的 $user = M('User'); $data = new \stdClass(); $data->user = $_POST['user']; $data->email = $_POST['email']; $data->date = date('Y-m-d H:i:s'); var_dump($user->create($data));

//默認是$_POST,傳遞$_GET修改 $user = M('User'); var_dump($user->create($_GET)); create()方法可以傳遞第二個參數,將要操作的模式,有兩種:Model::MODEL_INSERT 和 Model::MODEL_UPDATE,即新增和修改。當沒有指定的時候,系統會根據數據源是否包 含主鍵來自動判斷,如果包含主鍵,則就是修改操作。

//設置將要新增操作 $user = M('User'); var_dump($user->create($_POST, Model::MODEL_INSERT));

create()方法的內部工作分為 9 步:

1.獲取數據源(默認是 POST);2.驗證數據合法性(非數據或對象會過濾),失敗則返回 false3.檢查字段映射;4.判斷數據狀態(新增還是修改);5.數據自動驗證,失敗則返回 false6.表單令牌驗證,失敗則返回 false7.表單數據賦值(過濾非法字段和字符串處理);8.數據自動完成;9.生成數據對象(保存在內存)。

create()方法可以配合連貫操作配合數據創建,支持的連貫操作有:

1.field,用于定義合法的字段; var_dump($user->field('user')->create());2.validate,用于數據自動驗證;3.auto,用于數據自動完成;4.token,用于令牌驗證。//限制可操作的字段 $user = M('User'); var_dump($user->field('user')->create());//在模型類里限制字段 class UserModel extends Model { protected $insertFields = 'user'; protected $updateFields = 'user'; }

?

二.數據寫入 數據寫入使用的是 add()方法。

//新增一條數據 $user = M('User'); $data['user'] = '李炎恢'; $data['email'] = 'yc60.com@gmail.com'; $data['date'] = date('Y-m-d H:i:s'); $user->add($data);

//結合create()方法 $user = M('User'); $data = $user->create(); $data['date'] = date('Y-m-d H:i:s'); $user->add($data); add()方法支持的連貫操作有:

1.table,定義數據表名稱;

2.data,指定要寫入的數據對象;

3.field,定義要寫入的字段;

4.relation,關聯查詢;

5.validate,數據自動驗證;

6.auto,數據自動完成;

7.filter,數據過濾;

8.scope*,命名范圍;

9.bind,數據綁定操作;

10.token,令牌驗證;

11.comment,SQL 注釋; //使用data連貫方法 $user = M('User'); $data = $user->create(); $data['date'] = date('Y-m-d H:i:s'); $user->data($data)->add(); //data連貫方法 支持字符串、數組、對象 $user = M('User'); $data = 'user=星矢&mail=xinshi@qq.com&date='.date('Y-m-d H:i:s'); $user->data($data)->add();?

轉載于:https://www.cnblogs.com/yu520zhong/p/4854865.html

總結

以上是生活随笔為你收集整理的第 39 章 ThinkPHP--CURD 操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。