【问题标题】:Receiving [Illuminate\Database\Eloquent\MassAssignmentException] email using Laravel 5.5使用 Laravel 5.5 接收 [Illuminate\Database\Eloquent\MassAssignmentException] 电子邮件
【发布时间】:2018-05-09 18:34:47
【问题描述】:

我正在关注一个试图学习如何使用 Laravel5.5 的教程。在执行了将protected $fillable = array('email', 'password', 'name'); 添加到用户模型的步骤之后。

我假设设置哪些字段是可批量分配的字段?下一步是添加:

User::create(array(
    'email' => 'your@email.com',
    'password' => Hash::make('password'),
    'name' => 'John Doe'
));

我的理解是将所述用户添加到数据库中。

当我运行php artisan migrate 时,我收到[Illuminate\Database\Eloquent\MassAssignmentException] email,但我不知道为什么。我尝试添加Eloquent::unguard(),并尝试使其全部可防护。

已从可填充数组中删除电子邮件。完全摆脱了电子邮件。

每次我运行 php artisan migrate 时,错误都是一样的。

【问题讨论】:

  • 您在哪里使用 User::create 的代码?你是用模型工厂播种的吗?

标签: laravel laravel-5 laravel-artisan laravel-5.5 laravel-migrations


【解决方案1】:

根据您的描述,它应该可以正常工作。

所以请确保:

  • 您正在使用有效的用户模型(也许您有 2 个并且您只在其中一个中设置了可填充)?
  • 您没有在迁移中插入其他数据。问题很可能是其他模型而不是用户模型。

【讨论】:

  • 我检查了用户模型,似乎有一个是空的,一个是我创建的。其他迁移正在插入数据,但不是 email 字段。似乎我正在关注的教程可能基于 Laravel 4,所以我可能需要停下来找到一个基于 5.5 的教程。
  • 关于可填充和 MassAssignment 的想法没有改变,所以肯定有其他错误
  • 尝试通过迁移添加假用户时出现问题。
猜你喜欢
  • 2014-05-09
  • 2018-10-22
  • 2018-04-08
  • 2020-01-26
  • 1970-01-01
  • 2018-07-29
  • 2019-05-19
  • 1970-01-01
  • 2021-04-20
相关资源
最近更新 更多