save() create()區別

bigdaxin發表於2021-07-17

區別:

save():

save()方法的呼叫必須先例項化物件,所以是非靜態(static)方法;
save()方法的功能是插入或更新(create or update),這個很重要,每一次呼叫方法都會查詢當前的資料是否包含主鍵和資料表裡是否包含當前主鍵,如果資料中沒主鍵則獲得一個自增的主鍵給當前物件,如果資料表中以存在該主鍵則更新該條資料;
返回值為 @return integer|false 整型或false。
creat():

create()方法為靜態方法;通過通過類直接呼叫;
create()的功能為例項物件和插入(new and create);
返回值為當前模型的 例項物件。
原因:
save()方法只插入一條資料的原因是,但第一條資料被插入時之前例項好的物件在插入時被賦予了一個主鍵值,之後的操作由於主鍵相同就被方法判定為更新操作,導致資料庫中只多了一條資料。
而create()方法每一次執行都生成一個例項物件,每一個物件都會得到一個不同的主鍵,所有可以插入多條相同資料。

原文連結:blog.csdn.net/define_LIN/article/d...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章