2016-02-04 24 views
0

我一直在研究API,現在有一種'軟'API驗證,所以我可以更容易地在前端使用Backbone。基本上,設計主體一直只是驗證和更新我們關心的發回的屬性。在後端,我使用模型的可填充數組在驗證輸入數組後對其進行限制。通過這種方式,當人們意外地發回我們不允許他們觸摸的模型數據時,我們不必惹惱他們,因爲文檔清楚地說明了什麼是可填寫的。人們似乎很喜歡使用API​​。Laravel 4.2在createOrUpdate和類似方法上強制分配質量?

我們遇到的問題是一個問題,因爲我們想爲後端的東西使用諸如'createOrUpdate'之類的東西,這些東西會自動創建或更新模型。基本上,我們最終將可填充的東西添加到與面臨輸入驗證的用戶相反的位置。徘徊在文檔中,我遇到了「forceFill」和其他各種「強制」方法,但注意到它們缺少像'createOrUpdate'這樣更神奇的方法。看起來像他們應該是方法,或者至少可以傳遞給強制方法的布爾標誌,也許這些選項內置到Laravel 5+中?

在我繼續寫下我自己的基礎方法之前,我只想問一下,這是否已經內置到4.2中,我只是想念它?我也想創建這個主題,因爲它可能會讓人們對Laravel的集體作業感到困惑。

如果我沒有得到任何反饋,我可能會刪除它。

+0

http://stackoverflow.com/questions/29519127/laravel-create-or-update-related-model –

回答

1

Model::unguard();是在5.1中添加的可在4.2中找到。

你之前,你只需要調用它創建對象,然後就可以使用createOrUpdate()firstOrNew()create()

修正,這是L4.2 API填寫任何領域:https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Model.html#method_unguard

另見:Model::reguard()

+0

當我開始寫這些自定義方法時,我注意到了這些方法。由於我在工作中遇到了一些麻煩,所以我會給他們一些幫助。 – Throttlehead

+0

工作就像一個魅力。再次感謝! – Throttlehead