Php Laravel faker-为任务表生成随机用户id

Php Laravel faker-为任务表生成随机用户id,php,laravel,faker,laravel-migrations,laravel-seeding,Php,Laravel,Faker,Laravel Migrations,Laravel Seeding,对于我的任务表,我一直在获取SQLSTATE[23000]:完整性约束冲突:1048列“user\u id”在运行php artisan migrate--seed时不能为null 这是我的TasksFactory.php的代码 use App\User; use App\Model\Task; use Faker\Generator as Faker; use Illuminate\Database\Eloquent\Model; $factory->define(Task::clas

对于我的任务表,我一直在获取SQLSTATE[23000]:完整性约束冲突:1048列“user\u id”在运行
php artisan migrate--seed时不能为null

这是我的TasksFactory.php的代码

use App\User;
use App\Model\Task;
use Faker\Generator as Faker;
use Illuminate\Database\Eloquent\Model;

$factory->define(Task::class, function (Faker $faker) {
    $title = $faker->sentence;
    return [
        'title' => $title,
        'slug'  =>  str_slug($title),
        'description'   => $faker->text,
        'user_id' => function () {
            return User::all()->random();
        }

        /**
         * I've also tried this
         * 
         *  'user_id' => function () {
            return factory(App\User::class)->create()->id;
        }
         */
    ];
});
这是我的数据库播种器

use App\User;
use App\Model\Task;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        factory(User::class, 3)
        ->create()
        ->each(function ($u) {
             $u->tasks()->save(factory(Task::class)->make());
         });
    }
}
我的任务模型是这样的,Mass Assignment设置为$guarded=[],user()方法表示与任务的关系

namespace App\Model;

use App\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    protected $guarded=[];


    protected static function boot()
    {
        parent::boot();

        static::creating(function ($task) {
            $task->slug = str_slug($task->title);
            $task->user_id = auth()->id();
        });
    }

    public function getRouteKeyName()
    {
        return 'slug';
    }

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function getPathAttribute()
    {
        return "/task/$this->slug";
    }
}