我目前正在跟踪laracasts的从零开始的laravel系列,由于这个系列的laravel版本是laravel 6,所以我一直陷在这个问题上。我已经在这里搜索了答案,发现了一个相似的主题,但我的情况有所不同,因为我安装了新的laravel 8版本。
我正在使用修补匠上的以下命令,使用工厂模型类创建虚拟数据:
Article::factory()->count(1)->make();
这是我得到的错误:
PHP Fatal error: Class 'Article' not found in Psy Shell code on line 1
这是我的模型Article.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
use HasFactory;
protected $guarded = [];
}
这是我的工厂ArticleFactory.php
<?php
namespace Database\Factories;
use App\Models\Article;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
class ArticleFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Article::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'user_id' => User::factory(),
'title' => $this->faker->sentence,
'excerpt' => $this->faker->sentence,
'body' => $this->faker->paragraph
];
}
}
我尝试使用默认模型和User的工厂创建虚拟数据,它工作正常。我在修补匠上使用了相同的代码:
>>> User::factory()->count(1)->make();
[!] Aliasing 'User' to 'App\Models\User' for this Tinker session.
=> Illuminate\Database\Eloquent\Collection {#3289
all: [
App\Models\User {#3294
name: "Lane Maggio I",
email: "tromp.deion@example.com",
email_verified_at: "2020-10-19 15:08:24",
},
],
}
答案 0 :(得分:-1)
在文件顶部添加以下代码段;
use App\Models\Article;