Laravel播种质量分配,can';我看不出我在哪里';我做错了

Laravel播种质量分配,can';我看不出我在哪里';我做错了,laravel,eloquent,mass-assignment,Laravel,Eloquent,Mass Assignment,在我的播种机中: $model->create(array( 'name' => 'Test name' )); 在我的模型中: class Model extends Content { protected $fillable = array('name'); } 但是当我运行create方法时,记录只是在数据库中创建的,名称字段为NULL 我做错了什么?在你的种子中,你需要“放松”口才 尝试在您的机型上使用此选项: class

在我的播种机中:

    $model->create(array(
        'name' => 'Test name'
    ));
在我的模型中:

class Model extends Content {
        protected $fillable = array('name');
}
但是当我运行create方法时,记录只是在数据库中创建的,名称字段为NULL


我做错了什么?

在你的种子中,你需要“放松”口才


尝试在您的机型上使用此选项:

class Model extends Content {
    protected $fillable = ['name'];
}
删除不必要的代码

或者在您的播种机上尝试:

Model::create(['name' => 'foobar']);
或者将其添加到播种机上:

Eloquent::unguard();

您正在指定可填充属性和受保护属性。
你只需要其中一个

找到了解决方法

模型扩展了内容,扩展了雄辩

我在内容中重写构造函数,而不是将$attributes数组传递给雄辩的构造函数。我需要改变这一点:

class Content extends Eloquent {
    public function __construct() {
        ...
        parent::__construct();
    }
    ...
}
为此:

class Content extends Eloquent {
public function __construct($attributes = array()) {
        ...
        parent::__construct($attributes);
}
    ...
}

谢谢,我试过了,但同样的事情正在发生。更新了我的问题。有什么想法吗?@tperson您能提供更多的代码并显示实际的类是什么吗?也许你在用不同的型号?还更新了我的答案。结果表明模型扩展了扩展了雄辩的内容,并且没有正确地将参数传递给雄辩的构造函数。谢谢你的帮助!谢谢,我试过了,但同样的事情正在发生。更新了我的问题。有什么想法吗?你运行这个命令吗
php artisan db:seed
如果是,请检查app/database/seeds/DatabaseSeeder,并告诉我们它是否是这样。此外,您正在扩展一个内容类not elount,Content extends elount?是的,我运行了该命令,是的,主种子程序看起来是这样的。内容确实滔滔不绝,忘了提。啊!内容模型没有将正确的参数传递给雄辩的构造函数方法,从而修复了它。谢谢!:)