Posts Learn Components Snippets Categories Tags About
/

How to Disable Mass Assignment For All Model in Laravel

Learn how to disable mass assignment globally for all model in Laravel the easy way

Created on Sep 13, 2021

13 views

Sometimes you might want to disable mass assignment protection in Laravel and to do that you have to call the "unguard()" method of the base Model class.
Model::unguard();
The above code should be called from the "boot" method of the "AppServiceProvider" class.
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Model::unguard();
    }
}
By having this "unguard" method called, you will have to make sure that any data that come into the Laravel be validated before storing it into the database.
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostController extends Controller
{
    public function store(Request $request)
    {
        $request->validate([/* validate your fields here */]);
    }
}

Snippets by

PostSrc poster

PostSrc

Full stack developer mainly focusing on the front end side of the web. The main author of PostSrc and loves writing tutorial and guides online.

new

PostSrc Code Components

Collection of Tailwind CSS components for everyone to use. Browse all of the components that's right for your project.

View Components

Other Code Snippets

More