所以我試圖為我的 ProductsFactory 做種子,但我遇到了這個問題:
Class "Database\Factories\ProductFactory" not found
這是我的代碼
產品工廠
<?php
namespace Database\Factories;
use App\Models\Model;
use Illuminate\Database\Eloquent\Factories\Factory;
class ProductsFactory extends Factory
{
protected $model = Model::class;
public function definition()
{
return [
'name' => $this->$faker->name(),
'price' => $this->$faker->randomFloat(2, 0, 8),
'description' => $this->$faker->text()
];
}
}
?>
產品播種機
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class ProductSeeder extends Seeder
{
public function run()
{
\App\Models\Product::factory(10)->create();
}
}
產品
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
}
我正在為資料庫使用 Laravel 8.x 和 Mysql 請有人可以幫助我嗎?這是我班上的一個專案
uj5u.com熱心網友回復:
在您的工廠類中,您應該正確宣告變數 $model 以指向目標模型,在本例中為 Product 模型:
class ProductsFactory extends Factory
{
protected $model = Product::class;
但是,如果問題仍然存在,您可以連接模型和工廠。
在您的產品型號中:
protected static function newFactory()
{
return ProductFactory::new();
}
uj5u.com熱心網友回復:
錯誤說:Class "Database\Factories\ProductFactory" not found,這意味著 Laravel 尋找一個名為ProductFactory. 然而,您的課程被稱為ProductsFactory.
重命名類(可能還有檔案名),它應該可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/317406.html
