CURD

1、數(shù)據(jù)創(chuàng)建

html文件   寫(xiě)一個(gè)表單
<form method="post" action="http://localhost/demo/Home/User/create">
   <p>用戶(hù)<input type="text"  name="user"/><p>
   <p>郵箱<input type="text"  name="email"/><p>
   <input type="submit"  value="提交"/>
</form>
name的值必須是數(shù)據(jù)庫(kù)中有的字段  當(dāng)點(diǎn)擊提交按鈕時(shí)這是內(nèi)容會(huì)提交到Home模塊User控制器的create方法中
pulic  function create(){
       $user = M('User');
       var_dump($user->create());
}

這時(shí)候也會(huì)回輸出
array(size=2)
'user' => string '蠟筆小新' (length=12)
'email' => string 'xiaoxin@qq.com' (length=12)
PS:這里create()方法就是數(shù)據(jù)創(chuàng)建,數(shù)據(jù)的結(jié)果就是提交的POST數(shù)據(jù)的鍵值對(duì)。特別注意的是,提交過(guò)來(lái)的字段和數(shù)據(jù)庫(kù)的字段是對(duì)應(yīng)的,否則無(wú)法解析。

//通過(guò)數(shù)組手工獲取數(shù)據(jù),覆蓋提交的
$user = M('User');
$data['user'] = $_POST['user'];
$data['email'] = $_POST['email'];
var_dump($user->create($data));

//默認(rèn)是$_POST,傳遞$_GET修改
$user = M(‘User’);
var_dump($user->create($_Get));

2、數(shù)據(jù)寫(xiě)入

//數(shù)據(jù)寫(xiě)入使用的是add()方法
//新增一條數(shù)據(jù)
$user = M('User');
$data['user'] = "阿德";
$data['email'] = 'adsdada';
$user->add($data);
add()方法支持的連貫操作有:
1、table  定義數(shù)據(jù)表名稱(chēng)
2、data 制定要寫(xiě)入的數(shù)據(jù)對(duì)象
3、field  定義要寫(xiě)入的字段
4、relation  關(guān)聯(lián)查詢(xún)
5、validate  數(shù)據(jù)自動(dòng)驗(yàn)證
6、auto  數(shù)據(jù)自動(dòng)完成
7、filter  數(shù)據(jù)過(guò)濾
8、scope  命名范圍
9、bing  數(shù)據(jù)綁定操作
10、token  令牌驗(yàn)證
11、comment  SQL注釋

3、數(shù)據(jù)讀取

1、where  查詢(xún)或更新條件
2、table  要操作的數(shù)據(jù)表名稱(chēng)
3、alias  數(shù)據(jù)表別名
4、field  查詢(xún)字段
5、order  結(jié)果排序
6、group  查詢(xún)分組
7、having  分組再查詢(xún)
8、join  多表鏈接查詢(xún)
9、union  合并SELECT
10、distinct  取唯一值
11、lock  鎖

//顯示默認(rèn)所有數(shù)據(jù)
$user = M('user');
var_dump($user->select());

//獲取第一條user字段的值
$user = M('user');
var_dump($user->getField('user'));

//獲取所有user字段的值
$user = M('user');
var_dump($user->getField('user', true));

//傳遞多個(gè)字段  獲取所有
$user = M('user');
var_dump($user->getField('user,email'));//輸出的形式是鍵值對(duì)的形式  鍵是user   值是email

//id冒號(hào)分隔
$user = M('user');
var_dump($user->getField('id , user,email',‘:’));//輸出的形式是id  user  email之間的形式是以冒號(hào)分割的。

4、數(shù)據(jù)更新

//數(shù)據(jù)更新使用的方法是save()方法,主要是對(duì)數(shù)據(jù)的修改操作
//修改第一條數(shù)據(jù)   通過(guò)id找到這條數(shù)據(jù)  然后再更新這條數(shù)據(jù)
$user = M('user');
$data['user'] = '蠟筆小新';
$data['email'] = 'daxin@qq.com';
$map['id'] = 1;
$user->where($map)->save($data);//成功返回1  否則返回0 

//默認(rèn)主鍵為條件
$user = M('User');
$data['id'] = 1;
$data['user'] = '蠟筆小新';
$data['email'] = 'asdasd';
$user->save($data);//系統(tǒng)會(huì)根據(jù)這幾個(gè)鍵看那個(gè)鍵是主鍵 然后來(lái)找到這條數(shù)據(jù)

//修改某一個(gè)值
$user = M('User');
$map['id'] = 1;
$user->where($map)->setField('user','蠟筆大仙');

//統(tǒng)計(jì)累計(jì), 累加累減
$user = M('User');
$map['id'] = 1;
$user->where($map)->setInc('count' , 1);

5、數(shù)據(jù)刪除

//直接刪除
$user = M('user');
$user->delete(12);

//根據(jù)ID來(lái)刪除
$user = M('User');
$map['id'] = 16;
$user->where($map)->delete();

//批量刪除多個(gè)
$user = M('User');
$user->delete(1,2,3);

//輸出count為0且按時(shí)間倒敘的前5個(gè)
$user = M('user');
$map['count'] = 0;
$user->where($map)->order(array('date'=>'DESC'))->limit(5)->delete();

//刪除所有數(shù)據(jù),謹(jǐn)慎
$user = M('User');
echo $user->where('1')->delete();

//delete()方法支持的連貫操作有
1、where  查詢(xún)活更新條件
2、table   要操作的數(shù)據(jù)表明名稱(chēng)
3、alias  數(shù)據(jù)表別名
4、order 結(jié)果排序
5、lock  鎖
6、relation  關(guān)聯(lián)查詢(xún)
7、scope  命名范圍
8、bind  數(shù)據(jù)綁定操作
9、comment  SQL注釋

6、ActiveReocrd模式

//這種模式最大的特別就是簡(jiǎn)化了CURD的操作,并且擦用對(duì)象化的操作方式,便于使用和理解
//添加一條數(shù)據(jù)
$user = M('User');
$user->user = '火影忍者'
$user->email = 'huoying@qq.com'
$user-add();

//結(jié)合create
$user = M('User');
$user->create();
$user->user = 'asd';
$user->add();

//找到主鍵為4的值
$user = M('User');
var_dump($user->find(4));

//查找user = 蠟筆小新的記錄
$user = M('User');
var_dump($user->getByUser('蠟筆小新'));

//輸出user
echo $user->user;

//通過(guò)主建查詢(xún)多個(gè)
$user = M('User');
var_dump($user->select('1,2,3'));

//修改一條數(shù)據(jù)
$user = M('User');
$user->find(1);
$user->user = '蠟筆小新'
$user->save();

//刪除當(dāng)前找到的數(shù)據(jù)
$user = M('User');
$user->find(11);
$user->delete();

//刪除主鍵為10的數(shù)據(jù)
$user = M('User');
$user->delete(10);

//刪除主鍵為10。11的數(shù)據(jù)
$user = M('User');
$user->delete('10,11');




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容