## æ¥è¯¢å个æ°æ®
æ¥è¯¢å个æ°æ®ä½¿ç¨`find`æ¹æ³ï¼
~~~
// tableæ¹æ³å¿
é¡»æå®å®æ´çæ°æ®è¡¨å
Db::table('think_user')->where('id', 1)->find();
~~~
æç»çæçSQLè¯å¥å¯è½æ¯ï¼
~~~
SELECT * FROM `think_user` WHERE `id` = 1 LIMIT 1
~~~
> `find `æ¹æ³æ¥è¯¢ç»æä¸åå¨ï¼è¿å `null`ï¼å¦åè¿åç»ææ°ç»
å¦æå¸ææ¥è¯¢æ°æ®ä¸åå¨çæ¶åè¿å空æ°ç»ï¼å¯ä»¥ä½¿ç¨
~~~
// tableæ¹æ³å¿
é¡»æå®å®æ´çæ°æ®è¡¨å
Db::table('think_user')->where('id', 1)->findOrEmpty();
~~~
å¦æå¸æå¨æ²¡ææ¾å°æ°æ®åæåºå¼å¸¸å¯ä»¥ä½¿ç¨
~~~
Db::table('think_user')->where('id', 1)->findOrFail();
~~~
å¦æ没ææ¥æ¾å°æ°æ®ï¼åä¼æåºä¸ä¸ª`think\db\exception\DataNotFoundException`å¼å¸¸ã
## æ¥è¯¢æ°æ®é
æ¥è¯¢å¤ä¸ªæ°æ®ï¼æ°æ®éï¼ä½¿ç¨`select`æ¹æ³ï¼
~~~
Db::table('think_user')->where('status', 1)->select();
~~~
æç»çæçSQLè¯å¥å¯è½æ¯ï¼
~~~
SELECT * FROM `think_user` WHERE `status` = 1
~~~
> `select` æ¹æ³æ¥è¯¢ç»ææ¯ä¸ä¸ªæ°æ®é对象ï¼å¦æéè¦è½¬æ¢ä¸ºæ°ç»å¯ä»¥ä½¿ç¨
~~~
Db::table('think_user')->where('status', 1)->select()->toArray();
~~~
å¦æå¸æå¨æ²¡ææ¥æ¾å°æ°æ®åæåºå¼å¸¸å¯ä»¥ä½¿ç¨
~~~
Db::table('think_user')->where('status',1)->selectOrFail();
~~~
å¦æ没ææ¥æ¾å°æ°æ®ï¼åæ ·ä¹ä¼æåºä¸ä¸ª`think\db\exception\DataNotFoundException`å¼å¸¸ã
å¦æ设置äºæ°æ®è¡¨åç¼åæ°çè¯ï¼å¯ä»¥ä½¿ç¨
~~~
Db::name('user')->where('id', 1)->find();
Db::name('user')->where('status', 1)->select();
~~~
>[info] å¦æä½ çæ°æ®è¡¨æ²¡æ设置表åç¼çè¯ï¼é£ä¹`name`å`table`æ¹æ³ææä¸è´ã
å¨`find`å`select`æ¹æ³ä¹åå¯ä»¥ä½¿ç¨ææçé¾å¼æä½ï¼åèé¾å¼æä½ç« èï¼æ¹æ³ã
## å¼ååæ¥è¯¢
æ¥è¯¢æ个å段çå¼å¯ä»¥ç¨
~~~
// è¿åæ个å段çå¼
Db::table('think_user')->where('id', 1)->value('name');
~~~
> value æ¹æ³æ¥è¯¢ç»æä¸åå¨ï¼è¿å null
æ¥è¯¢æä¸åçå¼å¯ä»¥ç¨
~~~
// è¿åæ°ç»
Db::table('think_user')->where('status',1)->column('name');
// æå®idå段çå¼ä½ä¸ºç´¢å¼
Db::table('think_user')->where('status',1)->column('name', 'id');
~~~
å¦æè¦è¿åå®æ´æ°æ®ï¼å¹¶ä¸æ·»å ä¸ä¸ªç´¢å¼å¼çè¯ï¼å¯ä»¥ä½¿ç¨
~~~
// æå®idå段çå¼ä½ä¸ºç´¢å¼ è¿åæææ°æ®
Db::table('think_user')->where('status',1)->column('*','id');
~~~
> `column `æ¹æ³æ¥è¯¢ç»æä¸åå¨ï¼è¿å空æ°ç»
## æ°æ®åæ¹å¤ç
å¦æä½ éè¦å¤çæåä¸ç¾æ¡æ°æ®åºè®°å½ï¼å¯ä»¥èè使ç¨`chunk`æ¹æ³ï¼è¯¥æ¹æ³ä¸æ¬¡è·åç»æéçä¸å°åï¼ç¶åå¡«å
æ¯ä¸å°åæ°æ®å°è¦å¤ççéå
ï¼è¯¥æ¹æ³å¨ç¼åå¤ç大éæ°æ®åºè®°å½çæ¶åé常æç¨ã
æ¯å¦ï¼æ们å¯ä»¥å
¨é¨ç¨æ·è¡¨æ°æ®è¿è¡åæ¹å¤çï¼æ¯æ¬¡å¤ç 100 个ç¨æ·è®°å½ï¼
~~~
Db::table('think_user')->chunk(100, function($users) {
foreach ($users as $user) {
//
}
});
~~~
ä½ å¯ä»¥éè¿ä»éå
å½æ°ä¸è¿å`false`æ¥ä¸æ¢å¯¹åç»æ°æ®éçå¤çï¼
~~~
Db::table('think_user')->chunk(100, function($users) {
foreach ($users as $user) {
// å¤çç»æé...
if($user->status==0){
return false;
}
}
});
~~~
ä¹æ¯æå¨`chunk`æ¹æ³ä¹åè°ç¨å
¶å®çæ¥è¯¢æ¹æ³ï¼ä¾å¦ï¼
~~~
Db::table('think_user')
->where('score','>',80)
->chunk(100, function($users) {
foreach ($users as $user) {
//
}
});
~~~
`chunk`æ¹æ³çå¤çé»è®¤æ¯æ ¹æ®ä¸»é®æ¥è¯¢ï¼æ¯ææå®å段ï¼ä¾å¦ï¼
~~~
Db::table('think_user')->chunk(100, function($users) {
// å¤çç»æé...
return false;
},'create_time');
~~~
并ä¸æ¯ææå®å¤çæ°æ®ç顺åºã
~~~
Db::table('think_user')->chunk(100, function($users) {
// å¤çç»æé...
return false;
},'create_time', 'desc');
~~~
>[danger] `chunk`æ¹æ³ä¸è¬ç¨äºå½ä»¤è¡æä½æ¹å¤çæ°æ®åºçæ°æ®ï¼ä¸éåWEB访é®å¤ç大éæ°æ®ï¼å¾å®¹æ导è´è¶
æ¶ã
## 游æ æ¥è¯¢
å¦æä½ éè¦å¤ç大éçæ°æ®ï¼å¯ä»¥ä½¿ç¨æ°çæä¾ç游æ æ¥è¯¢åè½ï¼è¯¥æ¥è¯¢æ¹å¼å©ç¨äºPHPççæå¨ç¹æ§ï¼å¯ä»¥å¤§å¹
åå°å¤§éæ°æ®æ¥è¯¢çå
åå¼éé®é¢ã
~~~
$cursor = Db::table('user')->where('status', 1)->cursor();
foreach($cursor as $user){
echo $user['name'];
}
~~~
`cursor`æ¹æ³è¿åçæ¯ä¸ä¸ªçæå¨å¯¹è±¡ï¼`user`åéæ¯æ°æ®è¡¨çä¸æ¡æ°æ®ï¼æ°ç»ï¼ã
- åºè¨
- åºç¡
- å®è£
- å¼åè§è
- ç®å½ç»æ
- é ç½®
- æ¶æ
- 请æ±æµç¨
- æ¶ææ»è§
- å ¥å£æ件
- å¤åºç¨æ¨¡å¼
- URL访é®
- 容å¨åä¾èµæ³¨å ¥
- æå¡
- é¨é¢
- ä¸é´ä»¶
- äºä»¶
- è·¯ç±
- è·¯ç±å®ä¹
- åéè§å
- è·¯ç±å°å
- è·¯ç±åæ°
- è·¯ç±ä¸é´ä»¶
- è·¯ç±åç»
- èµæºè·¯ç±
- 注解路ç±
- è·¯ç±ç»å®
- ååè·¯ç±
- MISSè·¯ç±
- è·¨å请æ±
- URLçæ
- æ§å¶å¨
- æ§å¶å¨å®ä¹
- åºç¡æ§å¶å¨
- 空æ§å¶å¨
- èµæºæ§å¶å¨
- æ§å¶å¨ä¸é´ä»¶
- 请æ±
- 请æ±å¯¹è±¡
- 请æ±ä¿¡æ¯
- è¾å ¥åé
- 请æ±ç±»å
- HTTP头信æ¯
- 伪éæ
- åæ°ç»å®
- 请æ±ç¼å
- ååº
- ååºè¾åº
- ååºåæ°
- éå®å
- æ件ä¸è½½
- æ°æ®åº
- è¿æ¥æ°æ®åº
- åå¸å¼æ°æ®åº
- æ¥è¯¢æé å¨
- æ¥è¯¢æ°æ®
- æ·»å æ°æ®
- æ´æ°æ°æ®
- å é¤æ°æ®
- æ¥è¯¢è¡¨è¾¾å¼
- é¾å¼æä½
- where
- table
- alias
- field
- strict
- limit
- page
- order
- group
- having
- join
- union
- distinct
- lock
- cache
- comment
- fetchSql
- force
- partition
- failException
- sequence
- replace
- extra
- duplicate
- procedure
- èåæ¥è¯¢
- å页æ¥è¯¢
- æ¶é´æ¥è¯¢
- é«çº§æ¥è¯¢
- è§å¾æ¥è¯¢
- JSONå段
- åæ¥è¯¢
- åçæ¥è¯¢
- æ¥è¯¢äºä»¶
- è·åå¨
- äºå¡æä½
- åå¨è¿ç¨
- æ°æ®é
- æ°æ®åºé©±å¨
- 模å
- å®ä¹
- 模åå段
- æ°å¢
- æ´æ°
- å é¤
- æ¥è¯¢
- æ¥è¯¢èå´
- JSONå段
- è·åå¨
- ä¿®æ¹å¨
- æç´¢å¨
- æ°æ®é
- èªå¨æ¶é´æ³
- åªè¯»å段
- 软å é¤
- ç±»å转æ¢
- 模åè¾åº
- 模åäºä»¶
- 模åå ³è
- ä¸å¯¹ä¸å ³è
- ä¸å¯¹å¤å ³è
- è¿ç¨ä¸å¯¹å¤
- è¿ç¨ä¸å¯¹ä¸
- å¤å¯¹å¤å ³è
- å¤æå ³è
- å ³èé¢è½½å ¥
- å ³èç»è®¡
- å ³èè¾åº
- è§å¾
- 模æ¿åé
- è§å¾è¿æ»¤
- 模æ¿æ¸²æ
- 模æ¿å¼æ
- è§å¾é©±å¨
- é误åæ¥å¿
- å¼å¸¸å¤ç
- æ¥å¿å¤ç
- è°è¯
- è°è¯æ¨¡å¼
- Traceè°è¯
- SQLè°è¯
- åéè°è¯
- è¿ç¨è°è¯
- éªè¯
- éªè¯å¨
- éªè¯è§å
- é误信æ¯
- éªè¯åºæ¯
- è·¯ç±éªè¯
- å ç½®è§å
- 表å令ç
- 注解éªè¯
- æ项
- ç¼å
- Session
- Cookie
- å¤è¯è¨
- ä¸ä¼
- å½ä»¤è¡
- å¯å¨å ç½®æå¡å¨
- æ¥ççæ¬
- èªå¨çæåºç¨ç®å½
- å建类åºæ件
- æ¸ é¤ç¼åæ件
- çææ°æ®è¡¨å段ç¼å
- çæè·¯ç±æ å°ç¼å
- è¾åºè·¯ç±å®ä¹
- èªå®ä¹æ令
- æ©å±åº
- æ°æ®åºè¿ç§»å·¥å ·
- Workerman
- thinkå©æå·¥å ·åº
- éªè¯ç
- Swoole
- éå½
- å©æå½æ°
- å级æ导
- æ´æ°æ¥å¿