使用情境
今天如果你要更新或新增
一筆文章資料
你會怎麼做?
一般作法
1
2
3
4
5
6
7
8
9
10
|
public function updateOrCreate_Artical($id, $data){
//
$artical = \App\Models\Artical::find($id);
if(!artical){
$data["id"] = $id;
\App\Models\Artical::create($data);
} esle {
$artical->update($data);
}
}
|
TIPS :
這邊使用find找單一資料
同樣的如果是用where()
, get()
找多筆資料後
也是可以使用create()
, update()
的方法
記得要將您要填入的欄位寫入fillable
作為可以被批量賦值的屬性「白名單」
有更簡單的方法
1
2
3
|
public function updateOrCreate_Artical($id, $data){
$artical = \App\Models\Artical::updateOrCreate(["id" => $id], $data);
}
|
Conclusion
Laravel常有一些可以省去很多程式碼的小方法
不知道的人就會傻傻地寫一堆邏輯判斷
其實人家都幫你做好了
就差你有沒有多讀讀他家的API文件或Guide Line