thinkphp學習四

find()只查詢一條記錄,其返回的是一個一維數組
select()select是指將表中的所有信息全部讀出來
findAll()和select方法相同
select 字段 from 表 where
$user->table()如果想操作多張表,可以使用table
$list=$user->select();
$user->data()data方法是可以被代替的,主要用在save還有add的時候還有delete時候
order
limit()起始位置,查詢多少條,起始位置(偏移量)
page()查詢分頁,很少使用此方法,使用分頁類來實現分頁,使用分頁類實現更加複雜的方法
group()分組
$user->group('id')
having與sql語句當中的having方法一致,結果更加精確
$user->having()
join是關聯查詢,內關聯,左關聯,右關聯
$user->join('user on user.id=user_message.id','card on')
distinct唯一性過濾
select distinct id,username from 表
$user->distinct(true)->select();
relation 方法 關聯模型
lock 查詢鎖 lock(true) myisam引擎可以不用考慮鎖

getField('字段');你不想查詢其他的東西時,可以使用此方法。

更新數據
$data['password']='aaaa'
$list=$user->where('id=4')save($data)
第一可以向save這個括號當中直接傳入想要更改數據,其數據格式是字段信息數組
第二更新用的是save方法
第三如果不寫where,可以不寫where 但對應的數組當中必須要有指定的where條件
第四data方法的使用
第五$list到底是什麼?如果沒有受影響行數,則沒更新成功

delete方法
可以直接傳入一個主鍵id
$list=$user->delete(7);
$list=$user->where('id>5')->delete();

setField()
setInc()通常是數字的字段
SetDec()減一
前面第一處寫字段,第二處寫where條件,第三次寫上對應的增加字段
$List=$user->setInc('price','id=1',3)

$list=$user->SetDec('price','id=1',2);

$user->where('id=1')->setField(('username','password'),array('google','google'))

thinkphp的查詢語言

普通查詢  在查詢帶入where條件中,最少有三種形式1.字符串形式
           2.數組形式 $user=M('user');$data['username']='lwk';$list=$user->where(array('username')=>'liwenkai'))->select();
           3.對象形式  $user=M('user');  $c=new stdClass(); $c->userbane='lwk';$list=$user->where($c)->select();EQ等於 NEQ不等於  GT大於  EGT大於等於 LT 小於  ELT小於等於 like等價於sql的like  between指sql裏的between
in 查詢集合
exp 是指使用sql實現更加複雜的情況


區間查詢
$data['id']=array(array('gt',3),array('lt',10))
id>3 and id<10
組合查詢
 $data['username']='haha';
 $data['password']=array('eq','hah');
 $data['id']=array('lt',10);
複合查詢
$data['username']=array('eq','hah');
$data['password']=array('like','w%');
$data['_logic']='or';
$where['_complex']=$where;
$where['id']=array('lt',5);

統計查詢
$user->count()總數
$user->max()最大值
$user->min()
$user->avg()平均數
$user->sum()求和
$user=M('user');

定位查詢
getN(正數,負數)直接返回結果當中的某條記錄
first()
last()
SQL查詢
execute()主要用於更新和寫入  有受影響行數但沒結果集得使用execute()
query()主要用於查詢有受影響行數有結果集的
動態查詢
就是在某個方法後面加上一個字段名,或者找前幾條記錄的時候直接寫上
$user=M('user');
$list=$user->getByUsername('hahh');

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章