为什么 php artisan make:factory 不使用模型生成

互联网 行业动态 更新时间:2024-06-13 00:19:06

ste*_*gwa 6

尝试发布您的 laravel 存根并确认存根文件内容已按预期定义。

发布存根。

php artisan stub:publish

这应该在根项目目录中创建一个/stubs文件夹。 在该文件夹中,您将看到所有存根。 更具体地说,打开名为factory.stub 它的文件内容应该类似于以下内容:
<?php

namespace {{ factoryNamespace }};

use Illuminate\Database\Eloquent\Factories\Factory;
use {{ namespacedModel }};

class {{ factory }}Factory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = {{ model }}::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            //
        ];
    }
}

笔记:

从外观上看,您当前的工厂存根似乎缺少以下部分:

// ...
use {{ namespacedModel }};
// ...

    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = {{ model }}::class;

// ...

理想情况下,在正常(默认)情况下,运行生成带有链接模型的工厂的命令应如下所示:

命令:

php artisan make:factory BoardFactory --model=Board

预期的输出文件(database/factories/BoardFactory.php):

<?php

namespace Database\Factories;

use App\Models\Board;
use Illuminate\Database\Eloquent\Factories\Factory;

class BoardFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Board::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            //
        ];
    }
}

附录:

正如@miken32在评论中指出的那样,在2021 年 10 月 22 日之后发布的 Laravel 版本中,不再需要在 Factory 类中声明模型属性:

Laravel 拉取请求

此时,数据库工厂具有可以“猜测”数据库模型的隐藏功能。

因此,这个拉取请求建议protected $model从工厂中删除stub,因为当前的“猜测”逻辑可能适用于 99.99%人们。此外,我还向我们protected $model = User::classUserFactory.php: laravel/laravel#5713中删除的骨架请求了请求。

更多推荐

模型,php,artisan,factory

本文发布于:2023-04-20 20:39:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/23f8f241c6571821a573e00334240a5e.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模型   php   artisan   factory

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!