Laravel firstOrNew 與 firstOrCreate 的區別


例如:

$item = App\Deployment::firstOrNew( ['name' => '問答小程序'], ['delayed' => 1] ); 
  • firstOrNew 需要手動調用 save,才會保存到數據庫。適合同時需要修改其他屬性的場景。
  • firstOrCreate 會自動保存到數據庫。適合不需要額外修改其他屬性的場景。

注意:MassAssignmentException

firstOrCreate 一定要設置 model 的 fillable, 否則會報 MassAssignmentException 的錯誤。

參考: Laravel Model 的 fillable (白名單)與 guarded (黑名單)

即,create 受 fillable 的限制,但是 save 不受影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM