例如:
$item = App\Deployment::firstOrNew( ['name' => '問答小程序'], ['delayed' => 1] );
- firstOrNew 需要手動調用 save,才會保存到數據庫。適合同時需要修改其他屬性的場景。
- firstOrCreate 會自動保存到數據庫。適合不需要額外修改其他屬性的場景。
注意:MassAssignmentException
firstOrCreate 一定要設置 model 的 fillable, 否則會報 MassAssignmentException 的錯誤。
參考: Laravel Model 的 fillable (白名單)與 guarded (黑名單)
即,create 受 fillable 的限制,但是 save 不受影響。