我在Tinker中运行Message::factory()->count(10)->create(),但得到了以下错误。有什么想法吗?
对第22行C:\xampp\htdocs\laravel-chat-app\database\factories\MessageFactory.php中的未定义函数数据库\
\()的调用
class MessageFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
return [
"subject" => $this->faker->sentence(6),
"user_id" => function() {
return factory(App\Models\User::class)->create()->id;
}
];
}
}发布于 2022-03-16 00:48:47
检查您为user_id设置的闭包-它仍然使用旧的工厂语法和全局助手。
return [
'subject' => $this->faker->sentence(6),
'user_id' => App\Models\User::factory(),
];请注意,您只需返回工厂实例(不需要使用闭包,也不需要创建/返回用户ID) --如果需要,它将懒洋洋地创建模型并将其关联起来。
发布于 2022-08-05 13:45:31
在使用tinker时,您需要有一个完全限定的命名空间。
试试这个:
App\Models\Message::factory()->count(10)->create()这是假设您在该目录中有消息模型。只要用它所在的目录替换App\Model就行了。
https://stackoverflow.com/questions/71489165
复制相似问题