问题标签 [factories]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3007 浏览

php - Laravel 工厂返回值(在 afterCreating 钩子中)

我正在创建一个工厂并使用“afterCreating”钩子插入一些关系。

这是代码:

我的问题是如何返回修改后的模型,即在 afterCreating() 中修改的模型?甚至有可能这样做吗?

我得到的是在第一种方法中创建的原始模型。Laravel文档 API声明它返回 $this,它告诉我它是 afterCreating 的实例,但事实并非如此。

谢谢!

0 投票
3 回答
59 浏览

ruby-on-rails - 如何使用工厂方法创建 2 个实例

我正在尝试使用 rspec 为我的 rails 应用程序编写测试,我基本上想创建两个实例

1) 计数器值为 0 的用户

2) 计数器值为 5 或更多的用户

这是我的工厂用户代码

在我写的 user_controller_spec 文件中

虽然我曾经let!创建实例 let!(:dummyUser){create :user}

0 投票
3 回答
1927 浏览

laravel - Laravel 工厂:获取当前用户 id

我正在使用 laravel 工厂在我的数据库中生成一些假用户,但我不知道如何获取我当前正在生成的用户的用户 ID。我想获取当前用户的 id,以便可以对其进行哈希处理并将其放入 slug 中。

到目前为止,这是我的代码:

0 投票
0 回答
181 浏览

c++ - 使用共享库时重复的单例

我正在尝试使用 pybind11 在 Python 中绑定一个共享库。

我创建了一个简化版本来说明问题。从 python 我调用函数foobar。这个函数调用一个静态函数,它调用一个工厂,再调用一个工厂,它构造了 Singleton。

当我将代码作为可执行文件运行(不使用活页夹)时,这可以正常工作。问题在于,当通过 Python 将库与活页夹一起使用时,单例会被构造两次(即,每次使用单例时)。一次在Factory2的构造函数中,然后在foobar函数中。

我已经通过隐藏工厂尝试了这里建议的其他解决方案,但这没有用,或者我可能实施错了。

关于如何解决这个问题的任何想法,以便单例只构建一次?任何帮助将不胜感激!

我创建了一个小例子来说明这个问题。

主要.cpp:

单例.h:

工厂.h:

工厂2.h:

0 投票
2 回答
1540 浏览

php - PHP 注意:数组到字符串的转换;数据库工厂

我有一个人才模型,可以接受许多我想使用数据工厂填充的教育。但是使用工匠修补程序填充教育数据会导致“数组到字符串转换”。据我所见,我没有提供要转换为字符串的数组。以下是教育的模式、迁移和工厂

错误信息

PHP Notice: Array to string conversion in C:/Core/.../vendor/laravel/framework/src/Illuminate/Support/Str.php on line 360

运行此语句时收到

$talents->each( function($talent) { factory(App\Education::class)->create(['talent_id' => $talent->id]); })

以下是我运行的修补程序命令

$talents->each( function($talent) { factory(App\Education::class)->create(['talent_id' => $talent->id]); })是原因,但我不明白为什么

例如,具有不同类模型的相同命令可以工作

0 投票
1 回答
405 浏览

laravel - 如何多次循环遍历 Laravel 中的工厂...?

如何多次循环遍历 Laravel 中的工厂...?

// 文件工厂

//FileTableSeeder

如果我想为 2 个产品创建一个循环怎么办...?
此循环仅循环 1 个产品 7 次...

可以像这样更新播种机......但是,这是非常重复的......我能做些什么来重用循环......

编辑:

//预期结果图像...

  • 第一个产品有 7 张图片
  • 第二个产品有 2 张图片

预期成绩

0 投票
2 回答
1386 浏览

php - 在 Laravel 6 中找不到工厂

我被困住了......我试图让一组在 Laravel 6 中工作的工厂,不断收到以下错误:

在这里和网络上还有其他几篇关于此的帖子,我已经尝试了所有这些解决方案。我的工厂代码如下:

我正在使用 php artisan tinker 尝试生成数据库条目,以便我可以处理我的其余模型等。我使用的命令如下:

我尝试在工厂调用中指定名称空间,尝试将其放在双引号中,尝试在末尾添加 '::class'。控制器在那里,模型在那里,迁移按预期工作,但每次我在修补程序中运行工厂时,它都不会给我。我发现的大多数文档也引用了旧版本的 Laravel,所以我不确定它们是否为我提供了正确的语法。

值得注意的是,UserFactory 提供的库存也不起作用。这是我今天在 Laracasts 上的一门课程中重新下载的 Laravel 6。该课程较旧,专注于 Laravel 5.4,但我可以弄清楚转换......我只是无法让这个工作来挽救我的生命,我不知道为什么。

如果您想查看其他代码,我已将整个项目上传到此处:https ://github.com/aarpie100/laracasts_forum

帮助?

0 投票
0 回答
33 浏览

php - Throw new InvalidArgumentException("无法找到具有名称的工厂

我正在尝试 php artisan db:seed在终端中运行命令:
尝试填充表格时,我不断收到此错误:

异常跟踪:
1 Illuminate\Database\Eloquent\FactoryBuilder::getRawAttributes([]) /srv/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:305
2 Illuminate\Database\Eloquent\FactoryBuilder ::Illuminate\Database\Eloquent{closure}() /srv/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php:116

0 投票
1 回答
123 浏览

laravel - Laravel Seeding 产生的结果是预期的 3 倍

我正在开发一个 Laravel 项目,并尝试使用模型工厂为数据库播种。

我有一个横幅表和相关的 BannerTranslations 模型来保存翻译值。该项目将有 3 种语言。我正在尝试将 5 个虚拟值播种到与 BannerTranslations 相关的横幅表中。理论上,我希望为每个 Banner 行创建 3 个翻译行,这最终会导致 BannerTranslations 表有 15 个条目(3x5)。但我得到了 45 个条目。每个翻译行播种 3 次而不是 1 次。我确定我遗漏了一些非常明显的东西,但我不知道是什么。

翻译迁移:

BannerTranslationsFactory:

和 BannersTableSeeder:

这会导致每次翻译 3 个相同的键行 ('en','en','en','de','de','de','fr','fr','fr') 而不是 ('en ','de','fr')。正因为如此,它返回一个唯一的约束错误。

0 投票
1 回答
63 浏览

laravel - Laravel 6 使用模型工厂播种一对多关系

我有以下模型工厂:

当我打电话时,factory(App\User::class, 2)->create();我得到错误:

为什么这些回调方法不起作用,任何建议表示赞赏?