-
插入多條數據
查看全部 -
成員方法(get字段名Attr)[字段名首字母大寫]
在model中使用? ?后面有代碼
在controller中use下model中的類(該類需繼承model類)
后利用各種查詢方法獲取數據值
可利用toArray獲取改后數據
可利用getData獲取改前數據
<?php namespace?app\index\model; use?think\Model; class?User?extends?Model{ ????????#獲取器的設置?get字段名Attr(注意字段名開頭大寫) ????public?function?getSexAttr($value){ ????????switch?($value)?{ ????????case?'1': ????????return?'男'; ????????break; ????????case?'2': ????????return?'女'; ????????break; ????????default: ????????return?'未知'; ????????break; ????????} ????} }
<?php namespace?app\index\controller; use?think\Controller; use?app\index\model\User; class?Index?extends?Controller{ ???????????public?function?index(){ ???????????$res?=?User::get(2); ???????????dump($res->sex);? ???????????dump?($res->toArray());//toArray()獲取改后數據 ???????????dump($res->getData());//getData()獲取原始數據 ???????????} ?????????}
查看全部 -
<!-- Db::name? 助手函數-->
Db::name('不加前綴數據庫名')->insert($一維數組) 返回值是影響記錄的行數
Db::name('不加前綴數據庫名')->insertGetId($一維數組) 返回ID
Db::name('不加前綴數據庫名')->insertAll($二維數組)? 返回成功插入行數
查看全部 -
$res = User::destroy(function($query){
$query->where('id','<','5'); 使用閉包函數刪除
//返回影響的行數
});
dump($res);
$userModel =User::get(6);? 先調用后刪除
$res = $userModel->delete();
dump($res);
# 全部刪除("1=1")
$res = User::where('id','<',8)->delete();? #where方法刪除
dump($res);
查看全部 -
->where('字段名','表達式','值')??
->whereOr('字段名','表達式','值')
$db = Db::name('user');? ? ? ?
$sql = $db
->where('id','in','1,2,3')
->whereOr('username','eq','morankin')
->whereOr('num','lt','10')
->where('email','[email protected]')
->buildSql();?
以上其實就是定義了一個篩選條件但是老師給的這個其實篩選條件沒有什么必要 and 在我這里認為比or是 小一級的(后面會解釋) , 條件滿足id? 為1,2,3,和email 為[email protected]? 或者滿足username 為morankin的? 再或者 滿足 num 小于10的??
我任務這樣其實我們就有了3個條件
一個為(id and email )一個為username 一個為num
其實怎么理解都可以,我這個我比較好理解罷了? 但是這樣的篩選條件其實沒有必要,也可以說無意義的 畢竟是給大家練習的
不區分大小寫
EQ? ?=
NEQ? <>
LT? ?<
ELT <=
GT? >
EGT >=
BETWEEM? ?BETWEEN * AND *
NOTBETWEEN NOTBETWEEN * AND *
IN? ? IN (*,*)
NOTIN? ?NOT IN (*,*)
查看全部 -
# delete 返回影響的行數 對數據庫進行刪除 如果想要刪除的為主鍵 可以不需要加where? 直接在delete(添加主鍵id值)
DB::name(user) ->where(['id'=>1])->delete();
DB::name(user)->delete(1);
查看全部 -
update() 返回影響的行數 可以影響一個數組
setField() 返回影響的行數 只能影響一個字段?
setInc() 返回影響的行數 每次遞增? 默認遞增值為1
setDec() 返回影響的行數 每次遞減??默認遞增值為1
查看全部 -
版本 調整功能 5.0.9 db助手函數默認不再強制重新查看全部
-
value 返回一條記錄 返回的結果并且是字條記錄的某個字段
?如果結果不存在返回 NULL
Db::table('lx1_user')->where(['id'=>'2'])->value('username');
查看全部 -
?find 返回一條記錄 返回的結果是一個一維數組? 而其中的where 是為了更準確的查找到所需要的記錄 就是可以添加一個字段名 比如你想要id為1的記錄或者是username為xxx的?
->where(['字段名'=>'字段名的數據'])
Db::table('lx1_user')->where(['id'=>'10']) -> find();
查看全部 -
源生方法的數據插入數據表
?Db::execute("insert into lx1_user set? ?username=?,password=?,email=?",[?
'morankin',md5('123'),'[email protected]'
]);
?是給數據類名一個位置變量
后面添加數據也是按照前面 ? 的先后排列的??
數組第一個單元替換前面查詢語句的第一個問號,第二個單元替換第二個問號,以此類推
查看全部 -
全局添加更新時間需要在表中新建create_time和update_time字段,配置文件中設置“auto_timestamp"=>true,一般不開啟這個功能,否則表中不存在該字段時會報錯,真正刪除需要把destroy方法或delete方法的第二個參數設置為true
查看全部 -
模型獲取器的設置? 注意格式? get字段屬性名Attr? 會自動調用
查看全部 -
saveAll 可以批量更新內容
查看全部 -
saveAll? 一次增加多條內容
查看全部
舉報