Laravel 4 IlluminateDatabaseEloquentMassAssignmentException 错误

2021-12-26 00:00:00 php laravel laravel-4 eloquent

嘿,我已经在那里搜索了很多答案,但无法解决这个问题.

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

这是我的迁移代码

<?php

use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

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');
    }
}

对于模型 (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]);

说真的,我不知道这里出了什么问题.我是 Laravel 4 的新手.希望有人教我发生了什么以及如何解决它.

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.

推荐答案

当您使用 Activation 类中使用 $fillable 属性"http://laravel.com/docs/eloquent#mass-assignment">批量赋值.

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'];
}

相关文章