簡體   English   中英

使用修補程序生成用戶和帖子時出錯(Laravel)

[英]Error when using tinker to generate Users and Posts (Laravel)

我有以下 BlogPostFactory

<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;


class BlogPostFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'title' => $this->faker->sentence,
            'body' => $this->faker->paragraph(30),
            'user_id' => User::factory(),
        ];
    }
}

我一直在嘗試使用 tinker 來生成帖子和用戶,

 \App\Models\BlogPost::factory()->count(10)->create();

但我收到以下錯誤:

PHP Error:  Class "Database\Factories\User" not found in C:\Program Files\Ampps\www\example\database\factories\BlogPostFactory.php on line 19

有誰知道如何解決這一問題? 謝謝你的幫助!

您缺少User class 上的命名空間。
默認情況下 PHP 采用當前命名空間命名namespace Database\Factories; ,因此錯誤。

而不是:(不合格的名稱

// ...
'user_id' => User::factory(),
// ....

使用這個:(完全限定名稱

// ...
'user_id' => \App\Models\User::factory(),
// ...

附錄

不要忘記重新啟動當前的修補程序 session。 關閉當前的( exit; )並打開一個新的修補程序 session( php artisan tinker )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM