ThinkPhp中的 CURD操作

2021-08-17 15:02:13 字數 1852 閱讀 1002

think中的curd操作

thinkphp提供了靈活和方便的資料操作方法,對資料庫操作的四個基本操作(curd):建立、更新、讀

取和刪除的實現是最基本的,也是必須掌握的,在這基礎之上才能熟悉更多實用的資料操作方法。

curd操作通常是可以和連貫操作配合完成的。

資料建立

在進行資料操作之前,我們往往需要手動建立需要的資料,例如對於提交的表單資料:

// 獲取表單的post資料

$data['name'] = $_post['name'];

$data['email'] = $_post['email'];

// 更多的表單資料值獲取

//……

建立資料物件

thinkphp可以幫助你快速地建立資料物件,最典型的應用就是自動根據表單資料建立資料物件,這個優勢

在乙個資料表的字段非常之多的情況下尤其明顯。

很簡單的例子:

// 例項化user模型

$user = m('user');

// 根據表單提交的post資料建立資料物件

$user->create();

create方法支援從其它方式建立資料物件,例如,從其它的資料物件,或者陣列等

thinkphp3.2.3完全開發手冊

- 126 - 本文件使用 看雲 構建

$data['name'] = 'thinkphp';

$data['email'] = '[email protected]';

$user->create($data);

甚至還可以支援從物件建立新的資料物件

// 從user資料物件建立新的member資料物件

$user = stdclass();

$user->name = 'thinkphp';

$user->email = '[email protected]';

$member = m("member");

$member->create($user);

建立完成的資料可以直接讀取和修改,例如:

$data['name'] = 'thinkphp';

$data['email'] = '[email protected]';

$user->create($data);

// 建立完成資料物件後可以直接讀取資料

echo $user->name;

echo $user->email;

// 也可以直接修改建立完成的資料

$user->name = 'onethink'; // 修改name欄位資料

$user->status = 1; // 增加新的字段資料

資料操作狀態

create方法的第二個引數可以指定建立資料的操作狀態,預設情況下是自動判斷是寫入還是更新操作。

也可以顯式指定操作狀態,例如:

$member = m("user");

// 指定更新資料操作狀態

$member->create($_post,model::model_update);

系統內建的資料操作包括 model::model_insert (或者1)和 model::model_update (或者2),

當沒有指定的時候,系統根據資料來源是否包含主鍵資料來自動判斷,如果存在主鍵資料,就當成

model::model_update 操作。

不同的資料操作狀態可以定義不同的資料驗證和自動完成機制,所以,你可以自定義自己需要的資料操作

狀態,例如,可以設定登入操作的資料狀態(假設為3):

$member = m("user");

// 指定更新資料操作狀態

$member->create($_post,3);

使用PHP操作SQL 完成簡單的CURD操作

1 從資料庫出發,先建立測試資料,這裡使用的mysql,通過指令碼模式建立測試資料。set names utf8 drop database if exists disk create database disk charset utf8 use disk create table udisk ui...

ThinkPHP5實現PHPExcel操作

然後在index.php入口檔案中加一行 用來定義路徑的 雖然不一定能用上 define extend path dir extend 載入第三方路由 然後在extend目錄下建立資料夾lib,在把excel的類放進去 開啟phpexcel設定命名空間 完成配置,現在可以使用了!我們在控制器use一...

Thinkphp 對SESSION自定義操作

我們都知道session儲存在伺服器端,可以在php.ini設定,thinkphp 對session自定義操作有哪些方法,thinkphp定義函式可以完成session的設定 獲取 刪除和管理操作。1,開啟回話 session auto start false 2,session賦值 session...