-
如何在添加數(shù)據(jù)的時(shí)候自動(dòng)添加他的時(shí)間戳? 可以在模型中加入如下代碼 protect $autoWritetimestamp=ture; 假如數(shù)據(jù)庫中的時(shí)間戳字段名有create_time和update_time,那么在創(chuàng)建數(shù)據(jù)的時(shí)候create_time和update_time字段就會(huì)改變,在更新數(shù)據(jù)的時(shí)候update_time就會(huì)改變。 假如數(shù)據(jù)庫中的字段不是create_time和update_time而是其他(例如create_at和update_at),那么和可能會(huì)報(bào)錯(cuò),因此我們可以在模型中添加代碼: protectr $createTime='create_at' protectr $updateTime='update_at' 如果不想用自動(dòng)添加時(shí)間戳,可以在變量后面改為false,例如protectr $updateTime=false; 什么叫軟刪除,就是在數(shù)據(jù)庫的表中添加一個(gè)標(biāo)志位,(例如delete_time)在標(biāo)志位中默認(rèn)值為NULL表示這條數(shù)據(jù)還在,添加一個(gè)時(shí)間戳代表刪除該數(shù)據(jù)。但是實(shí)際上這條數(shù)據(jù)并沒有被刪除。(所以在設(shè)置數(shù)據(jù)庫表的delete_time時(shí)需要默認(rèn)值設(shè)置為NULL) 如何實(shí)現(xiàn)軟刪除,可以在模型中的開頭加入use traits\model\SolfDelete; 然后在類里面加入use SolfDelete; 這樣在控制器里面只要?jiǎng)h除該條數(shù)據(jù)$res=User::destroy(1);就會(huì)把id=1的數(shù)據(jù)軟刪除,如果真的想在數(shù)據(jù)庫中刪除該數(shù)據(jù),那么可以$res=User::destroy(1,ture);來實(shí)現(xiàn)查看全部
-
該截圖是對(duì)應(yīng)前一張截圖查看全部
-
在模型中還有三種比較特殊的方法,如上圖所示的auto insert update auto:在進(jìn)行數(shù)據(jù)庫更新或者增加的時(shí)候 相關(guān)的方法可以會(huì)被調(diào)用; insert:會(huì)在數(shù)據(jù)增加的時(shí)候被調(diào)用; update:會(huì)在數(shù)據(jù)更新的時(shí)候被調(diào)用查看全部
-
在以上的兩個(gè)方法中,同樣第二個(gè)參數(shù)$data都是從控制其中傳過來的數(shù)據(jù)庫中的一條數(shù)據(jù)(即$data是一個(gè)一維數(shù)據(jù)),所以可以通過$data['email']來獲取email字段的值。查看全部
-
如何更改數(shù)據(jù)獲取之后返回的值? 1. 在model編寫public方法,get+字段名(首字母大寫)+Attr,比如getSexAttr($val) 2. 在方法內(nèi)編寫邏輯,switch case可以處理不同的情況下返回什么樣的值。 3. 然后在控制器內(nèi)可以get記錄然后展示其內(nèi)的值,一般情況下都是展示處理后的數(shù)據(jù)。 * 在控制器內(nèi)調(diào)用getData()方法可以獲取原始數(shù)據(jù),而且是數(shù)組形式查看全部
-
更新數(shù)據(jù)的方法有update,save,saveall。update可以傳入要更新的數(shù)據(jù)的主鍵和數(shù)據(jù)的內(nèi)容,而save也是一樣,但是需要注意的是save如果不傳入主鍵的話,就會(huì)變成添加一條數(shù)據(jù)(像上一節(jié)課一樣),而saveall的用法和save差不多,只不過saveall可以批量更新數(shù)據(jù)。查看全部
-
在控制器中往數(shù)據(jù)庫添加數(shù)據(jù)時(shí),可以通過model類中的create方法來添加,例如在User的model中: $res=User::create([ 'username'=>'imooc', 'password'=>md5('imooc'), 'email'=>'imooc', 'num'=>100 ]); 此時(shí)如果執(zhí)行上面語句成功,$res的返回值是一個(gè)對(duì)象,并且這個(gè)對(duì)象會(huì)增加這個(gè)數(shù)據(jù) 自增主鍵的值,例如 $res->id可以獲得他的主鍵的值 這節(jié)課所講的添加方法有create,save,saveall(批量添加),其中save的返回值是受影響的行數(shù),而其余兩個(gè)方法得返回值是添加的對(duì)象。 在使用create方法的時(shí)候,如果想過濾數(shù)據(jù)庫沒有的字段,可以在create的第二個(gè)參數(shù)寫上ture。 在使用save方法時(shí),則使用allowFiled(ture);來過濾數(shù)據(jù)庫沒有的字段查看全部
-
sqlwhere語句查看全部
-
記錄1查看全部
-
model的命名規(guī)范:一般model的名字和表名是對(duì)應(yīng)的,例如 表名為imooc_user->模型名User.php 表名imooc_user_info->模型名UserInfo.php查看全部
-
think中,一般不會(huì)刪除所有數(shù)據(jù)。但是如果要?jiǎng)h除所有數(shù)據(jù)方法如下 $db->where(1=1)->delete();可以實(shí)現(xiàn)查看全部
-
設(shè)置更新或不更新字段查看全部
-
設(shè)置新增和更新時(shí)間自動(dòng)更新查看全部
-
模型修改器+自動(dòng)完成 protected $insert={……}數(shù)據(jù)新增時(shí)才會(huì)觸發(fā) protected $update={……}數(shù)據(jù)更新時(shí)才會(huì)觸發(fā) protected $auto={……}數(shù)據(jù)變動(dòng)是時(shí)會(huì)自動(dòng)觸發(fā)查看全部
-
獲取器的設(shè)置查看全部
舉報(bào)
0/150
提交
取消