å模åæ°å¢ä¸æ ·ï¼æ´æ°æä½åæ ·ä¹ä¼ç»è¿ä¿®æ¹å¨ãèªå¨å®æ以å模åäºä»¶çå¤çï¼å¹¶ä¸çåäºæ°æ®åºçæ°æ®æ´æ°ï¼èä¸æ´æ°æ¹æ³åæ°å¢æ¹æ³ä½¿ç¨çæ¯åä¸ä¸ªæ¹æ³ï¼é常系ç»ä¼èªå¨å¤æéè¦æ°å¢è¿æ¯æ´æ°æ°æ®ã
## æ¥æ¾å¹¶æ´æ°
å¨ååºæ°æ®åï¼æ´æ¹å段å
容å使ç¨`save`æ¹æ³æ´æ°æ°æ®ã**è¿ç§æ¹å¼æ¯æä½³çæ´æ°æ¹å¼**ã
~~~
$user = User::find(1);
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
~~~
> `save`æ¹æ³æåè¿å`true`ï¼å¹¶åªæå½`before_update`äºä»¶è¿å`false`çæ¶åè¿å`false`ï¼æé误åä¼æåºå¼å¸¸ã
对äºå¤æçæ¥è¯¢æ¡ä»¶ï¼ä¹å¯ä»¥ä½¿ç¨æ¥è¯¢æé å¨æ¥æ¥è¯¢æ°æ®å¹¶æ´æ°
~~~php
$user = User::where('status',1)
->where('name','liuchen')
->find();
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
~~~
`save`æ¹æ³æ´æ°æ°æ®ï¼åªä¼æ´æ°ååçæ°æ®ï¼å¯¹äºæ²¡æååçæ°æ®æ¯ä¸ä¼è¿è¡éæ°æ´æ°çãå¦æä½ éè¦å¼ºå¶æ´æ°æ°æ®ï¼å¯ä»¥ä½¿ç¨ä¸é¢çæ¹æ³ï¼
~~~
$user = User::find(1);
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->force()->save();
~~~
è¿æ ·æ è®ºä½ çä¿®æ¹åçæ°æ®æ¯å¦åä¹åä¸æ ·é½ä¼å¼ºå¶æ´æ°è¯¥å段çå¼ã
å¦æè¦æ§è¡SQLå½æ°æ´æ°ï¼å¯ä»¥ä½¿ç¨ä¸é¢çæ¹æ³
~~~
$user = User::find(1);
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->score = Db::raw('score+1');
$user->save();
~~~
## å段è¿æ»¤
é»è®¤æ
åµä¸ä¼è¿æ»¤éæ°æ®è¡¨å段çæ°æ®ï¼å¦æä½ éè¿å¤é¨æ交èµå¼ç»æ¨¡åï¼å¹¶ä¸å¸ææå®æäºå段åå
¥ï¼å¯ä»¥ä½¿ç¨ï¼
~~~
$user = User::find(1);
// postæ°ç»ä¸åªænameåemailå段ä¼åå
¥
$user->allowField(['name', 'email'])->save($_POST);
~~~
æä½³ç¨æ³æ¯å¨ä¼ å
¥æ¨¡åæ°æ®ä¹åå°±è¿è¡è¿æ»¤ï¼ä¾å¦ï¼
~~~
$user = User::find(1);
// postæ°ç»ä¸åªænameåemailå段ä¼åå
¥
$data = Request::only(['name','email']);
$user->save($data);
~~~
## æ¹éæ´æ°æ°æ®
å¯ä»¥ä½¿ç¨`saveAll`æ¹æ³æ¹éæ´æ°æ°æ®ï¼åªéè¦å¨æ¹éæ´æ°çæ°æ®ä¸å
å«ä¸»é®å³å¯ï¼ä¾å¦ï¼
~~~
$user = new User;
$list = [
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);
~~~
æ¹éæ´æ°æ¹æ³è¿åçæ¯ä¸ä¸ªæ°æ®é对象ã
> æ¹éæ´æ°ä»
è½æ ¹æ®ä¸»é®å¼è¿è¡æ´æ°ï¼å
¶å®æ
åµè¯·èªè¡å¤çã
## ç´æ¥æ´æ°ï¼éææ¹æ³ï¼
使ç¨æ¨¡åçéæ`update`æ¹æ³æ´æ°ï¼
~~~
User::update(['name' => 'thinkphp'], ['id' => 1]);
~~~
> 模åç`update`æ¹æ³è¿å模åç对象å®ä¾
å¦æä½ ç第ä¸ä¸ªåæ°ä¸å
å«ä¸»é®æ°æ®ï¼å¯ä»¥æ éä¼ å
¥ç¬¬äºä¸ªåæ°ï¼æ´æ°æ¡ä»¶ï¼
~~~
User::update(['name' => 'thinkphp', 'id' => 1]);
~~~
å¦æä½ éè¦åªå
许æ´æ°æå®å段ï¼å¯ä»¥ä½¿ç¨
~~~
User::update(['name' => 'thinkphp', 'email' => 'thinkphp@qq.com'], ['id' => 1], ['name']);
~~~
ä¸é¢ç代ç åªä¼æ´æ°`name`å段çæ°æ®ã
## èªå¨è¯å«
æ们已ç»çå°ï¼æ¨¡åçæ°å¢åæ´æ°æ¹æ³é½æ¯`save`æ¹æ³ï¼ç³»ç»æä¸å¥é»è®¤çè§åæ¥è¯å«å½åçæ°æ®éè¦æ´æ°è¿æ¯æ°å¢ã
* å®ä¾å模ååè°ç¨`save`æ¹æ³è¡¨ç¤ºæ°å¢ï¼
* æ¥è¯¢æ°æ®åè°ç¨`save`æ¹æ³è¡¨ç¤ºæ´æ°ï¼
ä¸è¦å¨ä¸ä¸ªæ¨¡åå®ä¾éé¢åå¤æ¬¡æ´æ°ï¼ä¼å¯¼è´é¨åéå¤æ°æ®ä¸åæ´æ°ï¼æ£ç¡®çæ¹å¼åºè¯¥æ¯å
æ¥è¯¢åæ´æ°æè
使ç¨æ¨¡åç±»ç`update`æ¹æ³æ´æ°ã
>[danger] ä¸è¦è°ç¨`save`æ¹æ³è¿è¡å¤æ¬¡æ°æ®åå
¥ã
## æä½³å®è·µ
>[info] æ´æ°çæä½³å®è·µååæ¯ï¼å¦æéè¦ä½¿ç¨æ¨¡åäºä»¶ï¼é£ä¹å°±å
æ¥è¯¢åæ´æ°ï¼å¦æä¸éè¦ä½¿ç¨äºä»¶æè
ä¸æ¥è¯¢ç´æ¥æ´æ°ï¼ç´æ¥ä½¿ç¨éæç`Update`æ¹æ³è¿è¡æ¡ä»¶æ´æ°ï¼å¦éå¿
è¦ï¼å°½éä¸è¦ä½¿ç¨æ¹éæ´æ°ã
- åºè¨
- åºç¡
- å®è£
- å¼åè§è
- ç®å½ç»æ
- é ç½®
- æ¶æ
- 请æ±æµç¨
- æ¶ææ»è§
- å ¥å£æ件
- å¤åºç¨æ¨¡å¼
- 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
- éå½
- å©æå½æ°
- å级æ导
- æ´æ°æ¥å¿