一些使用THinkPHP的心得和技巧(四)

來源:互聯網
上載者:User
關鍵字 ThinkPHP

ThinkPHP的CURD易忽視點小結

1、不定義方法,直接渲染範本。

對於沒有任何實際邏輯的操作方法,我們只需要直接定義對應的範本檔就行了,比如表單頁面,這個頁面一般不會有變數向範本中輸出,所以,我們沒有必要再去寫一個對應的空方法然後$this->display()了。

2、簡介create方法。

假設我們具現化的模型為$model,那麼ThinkPHP可以直接通過$model->add()的方式向資料庫中添加資料,那麼如果我們在$model->add()之前調用$model->create() 方法,這樣有什麼意義呢? create()方法的意義只有一個「確保寫入資料庫的資料安全和有效」。

其中,資料的自動驗證便是借助create方法來實現的。 值得一提的是,用create方法實現自動驗證,需要我們定義模型**Model.class.php,然後在具現化的時候使用D()方法進行具現化。

3、使用物件的方法插入資料。

可能你常常用下面的方式(陣列方式)插入資料
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表單內容';
$Form->add($data);

其實ThinkPHP還支持對象的方式直接向資料庫插入資料,如下:
$Form = D('Form');
$Form->title = 'ThinkPHP';
$Form->content = '表單內容';
$Form->add();

4、不指定條件對資料更新。
$Form = M("Form"); 要修改的資料物件屬性賦值
$data['id'] = 5;
$data['title'] = 'ThinkPHP';
$data['content'] = 'ThinkPHP3.1版本發佈';
$Form->save($data); 根據條件保存修改的資料

save方法會自動識別資料物件中的主鍵欄位,並作為更新條件。 當然,你也可以顯式的傳入更新條件,也就是我們最常用的方法:
$Form = M("Form");
要修改的資料物件屬性賦值
$data['title'] = 'ThinkPHP';
$data['content'] = 'ThinkPHP3.1版本發佈';
$Form->where('id=5')->save($data); 根據條件保存修改的資料

其實還有物件的方式,就像上面提到的,插入資料,用物件的方式一樣:
$Form = M("Form");
要修改的資料物件屬性賦值
$Form->title = 'ThinkPHP';
$Form->content = 'ThinkPHP3.1版本發佈';
$Form->where('id=5')->save(); 根據條件保存修改的資料

並且,可以將主鍵欄位包含在要保存的資料裡,這樣就可以不需要寫where了
$Form = M("Form");
要修改的資料物件屬性賦值
$Form->id = 5;
$Form->title = 'ThinkPHP';
$Form->content = 'ThinkPHP3.1版本發佈';
$Form->save(); 根據資料物件中的主鍵保存修改的資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.