我是拉威尔的新手。我想在我的数据库中植入种子。当我运行seed命令时,我得到一个异常
[Illuminate\Database\Eloquent\MassAssignmentException]
username
db:seed [--class[="..."]] [--database[="..."]]
我做错了什么。我使用的命令是:
php artisan db:seed --class="UsersTableSeeder"
我的种子类如下:
class UsersTableSeeder extends Seeder {
public function run()
{
User::truncate();
User::create([
'username' => 'PaulSheer',
'email' => 'psheer@rute.co.za',
'password' => '45678'
]);
User::create([
'username' => 'Stevo',
'email' => 'steve@rute.co.za',
'password' => '45678'
]);
}
}
发布于 2014-09-06 13:23:22
在执行种子时,只需在run方法的顶部添加Eloquent::unguard();
,无需在所有需要进行种子的模型中创建$fillable
数组。
通常,这已经在DatabaseSeeder
类中指定了。但是,因为您直接调用UsersTableSeeder
:
php artisan db:seed --class="UsersTableSeeder"
Eloquent::unguard();
没有被调用,并给出了错误。
发布于 2017-10-29 17:34:35
我使用了这个,并且没有任何问题:
protected $guarded=[];
发布于 2017-12-25 10:25:34
控制器文件中的用户适当的模型。
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\User;
https://stackoverflow.com/questions/22280136
复制相似问题