要透過 laravel 輸入資料的時候,可能會遇到一些輸入資料需要再處理過的問題,比方說帶過來的資料是空值,或是需要轉換格式等等,可以透過 setAttribute 的方式處理。
比如說我這邊設定如果原本沒有帶值過來,就給他空字串:
public function setItemAttribute($value) { $this->attributes['item'] = $value ?? ''; }
注意要 setItemAttribute() 中,紅字的部分需要跟帶過來的欄位的 key 一樣,也就是如果要設定的話,每個個別欄位都要設定一個。
那這個就是設定輸入資料時,去除前後的空白字元:
public function setSubjectAttribute($value){ $this->attributes['subject']=trim($value); }