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?是的,我运行了该命令,是的,主种子程序看起来是这样的。内容确实滔滔不绝,忘了提。啊!内容模型没有将正确的参数传递给雄辩的构造函数方法,从而修复了它。谢谢!:)