欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP CURD方法之data方法詳解

 更新時間:2014年06月18日 17:12:52   投稿:shichen2014  
ThinkPHP CURD方法的data方法用于設(shè)置當前要操作的數(shù)據(jù)對象的值這篇文章主要介紹了data方法的應(yīng)用,需要的朋友可以參考下

ThinkPHP CURD方法的data方法也是模型類的連貫操作方法之一,用于設(shè)置當前要操作的數(shù)據(jù)對象的值,很多開發(fā)人員卻并不太習(xí)慣用這個方法,今天來講解下如何用好data方法。

具體用法如下:

1.寫操作

通常情況下我們都是通過create方法或者賦值的方式生成數(shù)據(jù)對象,然后寫入數(shù)據(jù)庫,例如:

$Model = D('User');
$Model->create();
 // 這里略過具體的自動生成和驗證判斷
$Model->add();

又或者直接對數(shù)據(jù)對象賦值,例如:

$Model = M('User');
$Model->name = '流年';
$Model->email = 'thinkphp@qq.com';
$Model->add();

那么data方法則是直接生成要操作的數(shù)據(jù)對象,例如:

$Model = M('User');
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->data($data)->add();

注意:如果我們同時使用create方法和data創(chuàng)建數(shù)據(jù)對象的話,則后調(diào)用的方法有效

data方法支持數(shù)組、對象和字符串,對象方式如下:

$Model = M('User');
$obj = new stdClass;
$obj->name = '流年';
$obj->email = 'thinkphp@qq.com';
$Model->data($obj)->add();

字符串方式用法如下:

$Model = M('User');
$data = 'name=流年&email=thinkphp@qq.com';
$Model->data($data)->add();

也可以直接在add方法中傳入數(shù)據(jù)對象來新增數(shù)據(jù),例如:

$Model = M('User');
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->add($data);

但是這種方式data參數(shù)只能使用數(shù)組。

當然data方法也可以用于更新數(shù)據(jù),例如:

$Model = M('User');
$data['id'] = 8;
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->data($data)->save();

當然我們也可以直接這樣用:

$Model = M('User');
$data['id'] = 8;
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->save($data);

同樣,此時data參數(shù)只能傳入數(shù)組。

在調(diào)用save方法更新數(shù)據(jù)的時候 會自動判斷當前的數(shù)據(jù)對象里面是否有主鍵值存在,如果有的話會自動作為更新條件。也就是說,下面的用法和上面等效:

$Model = M('User');
$data['name'] = '流年';
$data['email'] = 'thinkphp@qq.com';
$Model->data($data)->where('id=8')->save();

2.讀操作

除了寫操作外,data方法還可以用于讀取當前的數(shù)據(jù)對象,例如:

$User = M('User');
$map['name'] = '流年';
$User->where($map)->find();
 // 讀取當前數(shù)據(jù)對象
$data = $User->data();

相關(guān)文章

  • ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用實例教程

    ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用實例教程

    這篇文章主要介紹了ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用,是很重要的概念,需要的朋友可以參考下
    2014-08-08
  • PHP生成短網(wǎng)址的3種方法代碼實例

    PHP生成短網(wǎng)址的3種方法代碼實例

    這篇文章主要介紹了PHP生成短網(wǎng)址的3種方法代碼實例,分別為純隨機生成法、枚舉生成法、62位生成法,需要的朋友可以參考下
    2014-07-07
  • ThinkPHP5.1驗證碼功能實現(xiàn)的示例代碼

    ThinkPHP5.1驗證碼功能實現(xiàn)的示例代碼

    這篇文章主要介紹了ThinkPHP5.1驗證碼功能實現(xiàn)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Thinkphp通過一個入口文件如何區(qū)分移動端和PC端

    Thinkphp通過一個入口文件如何區(qū)分移動端和PC端

    這篇文章主要介紹了Thinkphp通過一個入口文件區(qū)分移動端和PC端的方法,需要的的朋友參考下吧
    2017-04-04
  • PHP實現(xiàn)文件下載詳解

    PHP實現(xiàn)文件下載詳解

    本文從php實現(xiàn)下載的原理到具體的實現(xiàn)代碼,再到有可能出現(xiàn)的問題,以及使用其他方式實現(xiàn)的文件下載的代碼分享,都做了詳細說明,給有需要的小伙伴們參考下
    2014-11-11
  • Laravel使用swoole實現(xiàn)websocket主動消息推送的方法介紹

    Laravel使用swoole實現(xiàn)websocket主動消息推送的方法介紹

    這篇文章主要給大家介紹了關(guān)于Laravel使用swoole實現(xiàn)websocket主動消息推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • ThinkPHP模板自定義標簽使用方法

    ThinkPHP模板自定義標簽使用方法

    這篇文章主要介紹了ThinkPHP模板自定義標簽使用方法,需要的朋友可以參考下
    2014-06-06
  • ThinkPHP框架下微信支付功能總結(jié)踩坑筆記

    ThinkPHP框架下微信支付功能總結(jié)踩坑筆記

    這篇文章主要介紹了ThinkPHP框架下微信支付功能總結(jié)踩坑筆記,結(jié)合實例形式總結(jié)分析了thinkPHP微信支付功能開發(fā)過程中遇到的各種問題與解決方法,需要的朋友可以參考下
    2019-04-04
  • Laravel8 使用圖形驗證碼做登錄功能的實現(xiàn)

    Laravel8 使用圖形驗證碼做登錄功能的實現(xiàn)

    這篇文章主要介紹了Laravel8 使用圖形驗證碼做登錄功能的實現(xiàn),通過安裝擴展包調(diào)用相關(guān)接口進行校驗驗證碼是否正確,代碼簡單易懂,需要的朋友可以參考下
    2021-06-06
  • PHP命名空間(namespace)原理與用法詳解

    PHP命名空間(namespace)原理與用法詳解

    這篇文章主要介紹了PHP命名空間(namespace)原理與用法,結(jié)合實例形式詳細分析了PHP命名空間的概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12

最新評論