一盒音、 單條數(shù)據(jù)查詢
DB:table('oc_user')->where('id', 27)->find();
// sql語句: SELECT * FROM `oc_user` WHERE `id` = 27 LIMIT 1
// findOrFail方法,當(dāng)這條數(shù)據(jù)不存在時馅而,拋出一個error
DB:table('oc_user')->where('id', 127)->findOrFail();
// findOrEmpty方法祥诽,當(dāng)這條數(shù)據(jù)不存在時,返回一個空數(shù)組[]
DB:table('oc_user')->where('id', 127)->findOrEmpty();
-
DB:table()
中的table
必須制定完整數(shù)據(jù)表(包括前綴)
-
where
用來指定條件
-
DB::getLastSql();
獲取最后一條SQL語句
二瓮恭、 數(shù)據(jù)集查詢
DB:table('oc_user')->select();
// SELECT * FROM `oc_user`
// 轉(zhuǎn)化為數(shù)組
DB:table('oc_user')->select()->toArray();
//用name方法省略前綴
DB::name('user')->select();
- 查不到數(shù)據(jù)時 ,用
selectOrFail
方法拋出異常
- 使用
select()
方法后再調(diào)用toArray()
方法可以將數(shù)據(jù)集對象轉(zhuǎn)化為數(shù)組
- 當(dāng)在數(shù)據(jù)庫配置文件中配設(shè)置了前綴雄坪,可以使用
name
方法忽略前綴
二、 其他查詢
- 通過
value
方法屯蹦,可以查詢指定字段的值(單個)维哈,沒有數(shù)據(jù)返回null
Db::table('oc_user')->where('id',1)->value('username');
- 通過
colunm()
方法,可以查詢指定列的值(多個)登澜,沒有數(shù)據(jù)返回空數(shù)組
Db::table('oc_user')->column('username')
// 可以指定`id`作為列值的索引
Db::table('oc_user')->column('username', 'id')
- 數(shù)據(jù)量過大時阔挠,使用
chunk()
方法分批處理數(shù)據(jù)
//每次處理3條數(shù)據(jù)
Db::name('user')->chunk(3, function ($users) {
dump($users);
});
- 游標(biāo)查詢,每次查詢只讀取一條脑蠕,在讀取時购撼,自動定位到下一行繼續(xù)讀取
$cursor = Db::name('user')->cursor();
foreach($cursor as $user){
dump($user);
}