使用大量資料的方式新增(Mass Assignment)時無法新增

在 Laravel 若沒有在模型(Model)中同時設定「可以新增的欄位變數 $fillable」及「需要保護的欄位變數 $guarded」時,為了安全性著想,在做大量的新增或異動資料時(Mass Assignment),會無法正確的去新增或異動資料。

設定「可以新增的欄位變數 $fillable

設定你覺得允許做大量新增的欄位名稱

class User extends Model {

    protected $fillable = ['first_name', 'last_name', 'email'];

}

設定「需要保護的欄位變數 $guarded

我們可以指定某些欄位,不能被使用大量新增或異動,去變更欄位的資料值

class User extends Model {

    protected $guarded = ['id', 'password'];

}

若我們想要讓模型(Model)可以被大量新增,且我們沒有需要保護的欄位時,我們還是需要設定 $guarded 變數為空陣列 [],否則 Laravel 預會保護所有的欄位資料,讓你無法進行大量的新增或異動資料

class User extends Model {

    protected $fillable = ['id', 'password', 'first_name', 'last_name', 'email'];
    protected $guarded = [];

}

參考資料

KeJyun 最新新書推薦
- Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站
- Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

Laravel 是 PHP 的框架(Framework),提供了很多開發網站或 API 所需的工具及環境,經過簡單的設定就可以完成資料的處理及顯示,使開發者可以很優雅且快速的開發出各個不同的產品。本書適合有 PHP 基礎的人,但不知道要怎麼選擇框架,或者不用框架的人也能夠明白它的好處。

雖然 WordPress 也能夠架站,但如果有客製化需求,要開發各式各樣的網站,或提供 App 使用的 API,如此一來你只能選擇用框架,而 Laravel 是目前最受歡迎的。

本書將解說為什麼要使用框架,以及理解框架的優缺點後,要怎麼選擇框架,並用框架快速建構一個網站。除非必要,否則書中會避免專業技術用語,盡量使用最生活化易懂的例子及語氣,讓大家更容易進入 Laravel 的世界。

Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站

購書連結

Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

購書連結

comments powered by Disqus