问题标签 [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.
php - Laravel 工厂返回值(在 afterCreating 钩子中)
我正在创建一个工厂并使用“afterCreating”钩子插入一些关系。
这是代码:
我的问题是如何返回修改后的模型,即在 afterCreating() 中修改的模型?甚至有可能这样做吗?
我得到的是在第一种方法中创建的原始模型。Laravel文档 API声明它返回 $this,它告诉我它是 afterCreating 的实例,但事实并非如此。
谢谢!
ruby-on-rails - 如何使用工厂方法创建 2 个实例
我正在尝试使用 rspec 为我的 rails 应用程序编写测试,我基本上想创建两个实例
1) 计数器值为 0 的用户
2) 计数器值为 5 或更多的用户
这是我的工厂用户代码
在我写的 user_controller_spec 文件中
虽然我曾经let!
创建实例
let!(:dummyUser){create :user}
laravel - Laravel 工厂:获取当前用户 id
我正在使用 laravel 工厂在我的数据库中生成一些假用户,但我不知道如何获取我当前正在生成的用户的用户 ID。我想获取当前用户的 id,以便可以对其进行哈希处理并将其放入 slug 中。
到目前为止,这是我的代码:
c++ - 使用共享库时重复的单例
我正在尝试使用 pybind11 在 Python 中绑定一个共享库。
我创建了一个简化版本来说明问题。从 python 我调用函数foobar。这个函数调用一个静态函数,它调用一个工厂,再调用一个工厂,它构造了 Singleton。
当我将代码作为可执行文件运行(不使用活页夹)时,这可以正常工作。问题在于,当通过 Python 将库与活页夹一起使用时,单例会被构造两次(即,每次使用单例时)。一次在Factory2的构造函数中,然后在foobar函数中。
我已经通过隐藏工厂尝试了这里建议的其他解决方案,但这没有用,或者我可能实施错了。
关于如何解决这个问题的任何想法,以便单例只构建一次?任何帮助将不胜感激!
我创建了一个小例子来说明这个问题。
主要.cpp:
单例.h:
工厂.h:
工厂2.h:
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]); })
是原因,但我不明白为什么
例如,具有不同类模型的相同命令可以工作
php - 在 Laravel 6 中找不到工厂
我被困住了......我试图让一组在 Laravel 6 中工作的工厂,不断收到以下错误:
在这里和网络上还有其他几篇关于此的帖子,我已经尝试了所有这些解决方案。我的工厂代码如下:
我正在使用 php artisan tinker 尝试生成数据库条目,以便我可以处理我的其余模型等。我使用的命令如下:
我尝试在工厂调用中指定名称空间,尝试将其放在双引号中,尝试在末尾添加 '::class'。控制器在那里,模型在那里,迁移按预期工作,但每次我在修补程序中运行工厂时,它都不会给我。我发现的大多数文档也引用了旧版本的 Laravel,所以我不确定它们是否为我提供了正确的语法。
值得注意的是,UserFactory 提供的库存也不起作用。这是我今天在 Laracasts 上的一门课程中重新下载的 Laravel 6。该课程较旧,专注于 Laravel 5.4,但我可以弄清楚转换......我只是无法让这个工作来挽救我的生命,我不知道为什么。
如果您想查看其他代码,我已将整个项目上传到此处:https ://github.com/aarpie100/laracasts_forum
帮助?
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
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')。正因为如此,它返回一个唯一的约束错误。
laravel - Laravel 6 使用模型工厂播种一对多关系
我有以下模型工厂:
当我打电话时,factory(App\User::class, 2)->create();
我得到错误:
为什么这些回调方法不起作用,任何建议表示赞赏?