Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel 4 Illuminate \ Database \ Eloquent \ MassAssignmentException error

Hei, I already searched many answers out there but could not solve this problem.

Here is the code for my migration

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateActiveTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('activations', function($table)
        {
            $table->bigInteger('id')->primary();
            $table->tinyInteger('token');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('activations');
    }
}

For model (models/Activation.php)

<?php

class Activation extends Eloquent {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'activations';
    protected $guarded = array();
}

And i am calling Activation table like this.

Activation::create(['id' => 2, 'token' => 1231]);

Seriously i have no idea what's wrong here. And i am newbie at laravel 4. Hope somebody with teach me whats happening and how to solve it.

like image 739
user3478596 Avatar asked Mar 30 '14 17:03

user3478596


1 Answers

You need to use the $fillable property in your Activation class when you use Mass Assignment.

class Activation extends Eloquent {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'activations';

    protected $fillable = ['id', 'token'];
}
like image 94
Marwelln Avatar answered Oct 24 '22 07:10

Marwelln