麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > ThinkPHP > 正文

小Q thinkphp 筆記

2024-09-09 15:20:01
字體:
來源:轉載
供稿:網友

CURD的意思就是數據庫四種操作的合稱,即“Create,Update,Read,Delete(創建,修改,讀取,刪除)”,在開發指南里也有詳細介紹.

ThinkPHP 提供了靈活和方便的數據操作方法,不僅實現了對數據庫操作的四大基本操作(CURD):創建、讀取、更新和刪除的實現,還內置了很多實用的數據操作方法,提供了 ActiveRecords 模式的最佳體驗.

Model 類將數據庫操作統一為 CURD 和一個 SQL 查詢方法,也就是

_create 新增 (寫入)數據

_update 更新 (保存)數據

_read 讀取(查詢)數據

_delete 刪除數據

_query SQL 查詢

其它的所有方法基本上對你調用這些基礎方法進行操作,但是我們無需關注這些細節,只需要按照提供的抽象方法來操作,我們來看看在 ThinkPHP 中是怎么進行數據操作的.

1、新建記錄

  1. // 實例化一個 User 模型對象 
  2. $User = new UserModel(); 
  3. // 然后給數據對象賦值 
  4. $User‐>name = ‘ThinkPHP’; 
  5. $User‐>email = ‘[email protected]’; 
  6. // 然后就可以保存新建的 User 對象了 
  7. $User‐>add(); 
  8.  
  9. // 如果需要鎖實例化模型對象的時候傳入數據,可以使用 
  10. $data[‘name’] = ‘ThinkPHP’; 
  11. $data[‘email’] = ‘[email protected]’; 
  12. $User = new UserModel($data); 
  13. $User‐>add(); 
  14.  
  15. // 或者直接在 add 方法傳入要新建的數據 
  16. $data[‘name’] = ‘ThinkPHP’; 
  17. $data[‘email’] = ‘[email protected]’; 
  18. $User = new UserModel(); 
  19. $User‐>add($data); 

如果你的主鍵是自動增長類型,不需要傳入主鍵的值就可以新建數據,并且如果插入數據成功的話,Add 方法的返回值就是最新插入的主鍵值,可以直接獲取.

$insertId   =   $User‐>add($data);

一般情況下,應用中的數據對象不太可能通過手動賦值的方式寫入,而是有個數據對象的創建過程.

ThinkPHP 提供了一個 create 方法來創建數據對象,然后進行其它的新增或者編輯操作.

  1. $User = D(“User”); 
  2. $User‐>create(); // 創建 User 數據對象,默認通過表單提交的數據進行創建 
  3. $User‐>add(); // 新增表單提交的數據 
  4. Create 方法支持從其它方式創建數據對象,例如,從其它的數據對象,或者數組等 
  5. $data[‘name’] = ‘ThinkPHP’; 
  6. $data[‘email’] = ‘[email protected]’; 
  7. $User‐>create($data); 
  8.  
  9. // 從 User 數據對象創建新的 Member 數據對象 
  10. $Member = D(“Member”); 
  11. $Member‐>create($User); 
  12. 支持新增多條記錄 
  13.  
  14. $User = new UserModel(); 
  15. $data[0][‘name’] = ‘ThinkPHP’; 
  16. $data[0][‘email’] = ‘[email protected]’; 
  17. $data[1][‘name’] = ‘流年’; 
  18. $data[1][‘email’] = ‘[email protected]’; 
  19. $User‐>addAll($data); 

在 MySql 數據庫下面,會自動使用一條 SQL 語句實現多數據的插入.

2、查詢記錄

讀取數據庫的記錄我覺得是數據庫操作中的最有意思的一件事情了,寫過文本數據庫的人都知道,保存和刪除數據不難(無非是規范和效率問題),難在可以通過各種方式來查找需要的數據,ThinkPHP 通過各種努力,讓數據庫的查詢操作變得輕而易舉,也讓 ThinkPHP 變得富有內涵.

ThinkPHP 有一個非常明確的約定,就是單個數據查詢和多個數據查詢的方法是分開的,或者你會認為有時候自己也不知道要查詢的數據是單個還是多個,但是有一點是明確的,你需要的是返回一個數據還是希望返回的是一個數據集,因為對兩種類型的返回數據的操作方式是截然不同的,無論何種方式的返回,我們都可以直接在模型對象里面操作,當然也一樣可以作為數據傳遞給你需要的變量.

先舉個最簡單的例子,假如我們要查詢主鍵為 8 的某個用戶記錄,我們可以使用下面的一些方法:

$User‐>find(8);

這個作為查詢語言來說是最為直觀的,如果查詢成功,查詢的結果直接保存在當前的數據對象中,在進行下一次查詢操作之前,我們都可以提取,例如獲取查詢的結果數據:

$name = $User‐>name;

$email = $User‐>email;

遍歷查詢到的數據對象屬性

  1. foreach ($User as $key=>$val){ 
  2. echo($key.’:’.$val); 
  3. // 或者進行相關的數據更改和保存操作 

也可以用變量保存下來以便隨時使用。

$user = $User‐>find(8);

對于上面的查詢條件,我們還可以使用getById 來完成相同的查詢.

$User‐>getById(8);

需要注意的是,對于 find 方法來說,即使查詢結果有多條記錄,也只會返回符合條件的第一條記錄,如果要返回符合要求的所有記錄,請使用 findAll 方法.

  1. // 查詢主鍵為 1、3、8 的記錄集 
  2. $User‐>findAll(‘1,3,8’); 
  3. // 遍歷數據列表 
  4. foreach ($User as $vo){ 
  5. dump($vo‐>name); 

3、更新記錄

了解了查詢記錄后,更新操作就顯得非常簡單了.

  1. $User‐>find(1); // 查找主鍵為 1 的數據 
  2. $User‐>name = ‘TOPThink’; // 修改數據對象 
  3. $User‐>save(); // 保存當前數據對象 
  4. // 還可以使用下面的方式更新 
  5. $User‐>score = ‘(score+1)’; // 對用戶的積分加 1 
  6. $User‐>save(); 

如果不是使用數據對象的方式來保存,可以傳入要保存的數據和條件.

  1. $data[‘id’] = 1; 
  2. $data[‘name’] = ‘TopThink’; 
  3. $User‐>save($data); 

除了 save 方法外,你還可以使用 setField 方法來更新特定字段的值,例如:

$User‐>setField(“name”,”TopThink”,’id=1’);

同樣可以支持對字段的操作

  1. $User‐>setField(“score”,”(score+1)”,’id=1’); 
  2. // 或者改成下面的 
  3. $User‐>setInc(“score”,’id=1’); 

4、刪除記錄

  1. $User‐>find(2); 
  2. $User‐>delete(); // 刪除查找到的記錄 
  3. $User‐>delete(‘5,6’); // 刪除主鍵為 5、6 的數據 
  4. $User‐>deleteAll(); // 刪除查詢出來的所有數據 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 午夜视频在线免费观看 | 少妇一级淫片免费放4p | 一级α片免费看刺激高潮视频 | 色呦呦一区二区三区 | 久久精品国产亚洲7777 | 中文字幕在线播放不卡 | 污在线观看网站 | av在线免费播放网站 | 91精品国产福利尤物免费 | 九九色网站 | 国产成人自拍视频在线 | 日日草天天干 | 国产中文99视频在线观看 | 久久在线免费视频 | 91九色视频在线观看 | 黄色网战入口 | 精品一区二区6 | 第一区免费在线观看 | 日本在线视频免费观看 | 懂色av懂色aⅴ精彩av | 视频一区二区在线播放 | 欧美性生活久久久 | 一级免费黄视频 | 亚洲综合网站 | 九九热在线视频观看 | 欧美一级色片 | 欧美成人免费在线视频 | 激情小说区 | 奇米888一区二区三区 | 麻豆视频国产在线观看 | 国产精品免费一区二区三区四区 | 久久亚洲精品11p | 国产精品久久久久久久久久三级 | 欧美大荫蒂xxx | 欧美 亚洲 激情 | 国产精品成人一区二区三区吃奶 | 爱逼av | 一级国产免费 | 国产手机av在线 | 羞羞视频免费观看网站 | 久久精品中文字幕一区 |