查詢方法
條件查詢方法
where方法
可以使用where方法進行AND條件查詢:
Db::table('think_user')
->where('name','like','%thinkphp')
->where('status',1)
->find();
多字段相同條件的AND查詢可以簡化(hua)為如下方式:
Db::table('think_user')
->where('name&title','like','%thinkphp')
->find();
whereOr方法
使用whereOr方法進行OR查詢:
Db::table('think_user')
->where('name','like','%thinkphp')
->whereOr('title','like','%thinkphp')
->find();
多字段相同條件的OR查詢可以簡化為如下方式:
Db::table('think_user')
->where('name|title','like','%thinkphp')
->find();
混合查詢
where方法和whereOr方法在復(fu)雜(za)的查詢(xun)條件(jian)中經(jing)常需要配合(he)一起(qi)混合(he)使用,下面(mian)舉(ju)個例子(zi):
$result = Db::table('think_user')->where(function ($query) {
$query->where('id', 1)->whereor('id', 2);
})->whereOr(function ($query) {
$query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp');
})->select();
生(sheng)成的sql語句類似于下(xia)面:
SELECT * FROM `think_user` WHERE ( `id` = 1 OR `id` = 2 ) OR ( `name` LIKE 'think' OR `name` LIKE 'thinkphp' )
注意閉包查(cha)詢里面的(de)順序(xu),而且第(di)一個查(cha)詢方法用where或者whereOr是(shi)沒(mei)有(you)區別的(de)。
getTableInfo方法
使(shi)用getTableInfo可以(yi)獲取表信(xin)(xin)息,信(xin)(xin)息類型 包括 fields,type,bind,pk,以(yi)數組的(de)形式展示(shi),可以(yi)指(zhi)定某個(ge)信(xin)(xin)息進行獲取
// 獲取(qu)`think_user`表所有信(xin)息
Db::getTableInfo('think_user');
// 獲取`think_user`表所有字段
Db::getTableInfo('think_user', 'fields');
// 獲取`think_user`表(biao)所有字段的類型(xing)
Db::getTableInfo('think_user', 'type');
// 獲取(qu)`think_user`表的主鍵
Db::getTableInfo('think_user', 'pk');
文檔最后更新時間:2018-04-26 09:28:23
未解決你的問題?請到「問答社區」反饋你遇到的問題
