[英]Laravel Faker Unknown formatter
我已经尝试了所有可能的方法,但我无法深入了解我做错了什么。 我试图用虚拟数据加载我的数据库,但我一直得到未知的格式化程序“描述”。 描述是我正在使用的变量之一。
下面是我的工厂代码和我的播种机编码器
use Faker\Generator as Faker;
use Analytics\Blockgrant;
$factory->define(Blockgrant::class, function (Faker $faker) {
return [
'description' => $faker->description,
'value' => $faker->value
];
});
<?php
use Faker\Generator as Faker;
use Universityobfanalytics\Blockgrantcomponents;
$factory->define(Blockgrantcomponents::class, function (Faker $faker) {
return [
'blockgrants_id' => $faker->blockgrants_id,
'description' => $faker->description,
'percentage' => $faker->percentage,
'value' => $faker->value
];
});
<?php
use Illuminate\Database\Seeder;
use Analytics\Blockgrant;
use Analytics\Blockgrantcomponents;
class BlockgrantSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(Blockgrant::class, 10)->create()->each(function ($blockgrant) {
$blockgrant->blockgrantcomponents()->save(factory(Blockgrantcomponents::class)->create());
});
}
}
我正在使用一对一的hasOne
和belongsTo
关系
有人可以告诉我我做错了什么吗?
我已经尝试了所有可能的方法,但是我无法弄清自己做错了什么。 我正在尝试用虚拟数据加载数据库,但是我一直得到未知的格式化程序“描述”。 说明是我正在使用的变量之一。
下面是我的工厂代码和播种机代码
use Faker\Generator as Faker;
use Analytics\Blockgrant;
$factory->define(Blockgrant::class, function (Faker $faker) {
return [
'description' => $faker->description,
'value' => $faker->value
];
});
<?php
use Faker\Generator as Faker;
use Universityobfanalytics\Blockgrantcomponents;
$factory->define(Blockgrantcomponents::class, function (Faker $faker) {
return [
'blockgrants_id' => $faker->blockgrants_id,
'description' => $faker->description,
'percentage' => $faker->percentage,
'value' => $faker->value
];
});
<?php
use Illuminate\Database\Seeder;
use Analytics\Blockgrant;
use Analytics\Blockgrantcomponents;
class BlockgrantSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(Blockgrant::class, 10)->create()->each(function ($blockgrant) {
$blockgrant->blockgrantcomponents()->save(factory(Blockgrantcomponents::class)->create());
});
}
}
我正在使用一对一的hasOne
和belongsTo
关系
有人可以告诉我我做错了什么吗?
我已经尝试了所有可能的方法,但是我无法弄清自己做错了什么。 我正在尝试用虚拟数据加载数据库,但是我一直得到未知的格式化程序“描述”。 说明是我正在使用的变量之一。
下面是我的工厂代码和播种机代码
use Faker\Generator as Faker;
use Analytics\Blockgrant;
$factory->define(Blockgrant::class, function (Faker $faker) {
return [
'description' => $faker->description,
'value' => $faker->value
];
});
<?php
use Faker\Generator as Faker;
use Universityobfanalytics\Blockgrantcomponents;
$factory->define(Blockgrantcomponents::class, function (Faker $faker) {
return [
'blockgrants_id' => $faker->blockgrants_id,
'description' => $faker->description,
'percentage' => $faker->percentage,
'value' => $faker->value
];
});
<?php
use Illuminate\Database\Seeder;
use Analytics\Blockgrant;
use Analytics\Blockgrantcomponents;
class BlockgrantSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(Blockgrant::class, 10)->create()->each(function ($blockgrant) {
$blockgrant->blockgrantcomponents()->save(factory(Blockgrantcomponents::class)->create());
});
}
}
我正在使用一对一的hasOne
和belongsTo
关系
有人可以告诉我我做错了什么吗?
我正在使用Pest ,并且在尝试在我的项目中编写单元测试时遇到了同样的错误,我的解决方案是:
在文件tests/Pest.php
中,我有这样一行:
uses(Tests\TestCase::class)->in('Feature');
我把它改成了这个并且它有效
uses(Tests\TestCase::class)->in('Feature', 'Unit');
在 class Test/TestCase
中,记得在构造函数中调用parent::setup()
,如下所示:
protected function setUp(): void
{
try {
parent::setUp();
} catch (QueryException $e) {
file_put_contents(
getcwd() . '/testing_env_log',
json_encode([
'db' => Config::get('database'),
'env' => $_ENV,
'app' => Config::get('app'),
], JSON_THROW_ON_ERROR)
);
throw $e;
}
Event::fake();
}
您需要创建自己的 TestCase class,它将使用您创建的 CreatesApplication 特征。
所有这一切看起来像这样:
class TestCase extends BaseTestCase
{
use CreatesApplication;
}
trait CreatesApplication
{
public function createApplication(): Application
{
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
return $app;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.