首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel在Tinker经营工厂

Laravel在Tinker经营工厂
EN

Stack Overflow用户
提问于 2022-03-15 21:19:07
回答 2查看 584关注 0票数 0

我在Tinker中运行Message::factory()->count(10)->create(),但得到了以下错误。有什么想法吗?

对第22行C:\xampp\htdocs\laravel-chat-app\database\factories\MessageFactory.php中的未定义函数数据库\

\()的调用

代码语言:javascript
复制
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;
            }
        ];
    }
}
EN

回答 2

Stack Overflow用户

发布于 2022-03-16 00:48:47

检查您为user_id设置的闭包-它仍然使用旧的工厂语法和全局助手。

代码语言:javascript
复制
return [
    'subject' => $this->faker->sentence(6),
    'user_id' => App\Models\User::factory(),
];

请注意,您只需返回工厂实例(不需要使用闭包,也不需要创建/返回用户ID) --如果需要,它将懒洋洋地创建模型并将其关联起来。

票数 0
EN

Stack Overflow用户

发布于 2022-08-05 13:45:31

在使用tinker时,您需要有一个完全限定的命名空间。

试试这个:

代码语言:javascript
复制
App\Models\Message::factory()->count(10)->create()

这是假设您在该目录中有消息模型。只要用它所在的目录替换App\Model就行了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71489165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档