第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

正在回答

2 回答

學(xué)習(xí)了

0 回復(fù) 有任何疑惑可以回復(fù)我~

除此之外還可以使用create方法插入數(shù)據(jù),由于該方法中用到了批量賦值(Mass Assignment),所以我們需要在模型類中設(shè)置$fillable屬性或者$guarded屬性,以表明哪些屬性可以通過該方法設(shè)置,哪些不可以。

開始之前,我們先解釋下什么是批量賦值,以及為什么要使用批量賦值。

批量賦值的英文名稱是Mass Assignment,所謂的批量賦值是指當(dāng)我們將一個(gè)數(shù)組發(fā)送到模型類用于創(chuàng)建新的模型實(shí)例的時(shí)候(通常是表單請求數(shù)據(jù)),我們可以簡單通過如下方式實(shí)現(xiàn):

$post = Post::create(Input::all());

而不是像使用save方法那樣一個(gè)一個(gè)的設(shè)置屬性值,如果模型屬性很多的話,使用save簡直是噩夢有木有。

但事物總是相對的,使用批量賦值是很方便,但同時(shí)也帶來了安全隱患,很多時(shí)候模型類的某些屬性值不是我們所期望通過批量賦值修改的,比如用戶模型有個(gè)user_type屬性,如果用戶通過請求數(shù)據(jù)將其類型修改為管理員類型,這顯然是不允許的,正是基于這一考慮,Eloquent模型類為我們提供了$fillable屬性和$guarded屬性,我們可以將其分別看作“白名單”和“黑名單”,定義在$fillable中的屬性可以通過批量賦值進(jìn)行賦值,而定義在$guarded中的屬性在批量賦值時(shí)會被過濾掉。

那么如果我們確實(shí)想要修改定義在$guarded中的屬性怎么辦?答案是使用save方法。

此外需要注意的是$fillable和$guarded方法同時(shí)只能定義一個(gè),原因嘛很簡單,非黑即白,定義了一個(gè)另外一個(gè)也就確定了。

可見批量賦值不僅為我們創(chuàng)建模型提供了便利,還避免了安全隱患,提高了系統(tǒng)的安全性。


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

批量賦值是什么意思呢?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號