我有一个Post模型,其中包含以下字段:
现在我想使用laravel的seeder和model factory来创建假的fa_IR本地化数据并插入到posts表中。
为此,我在database/factories/ModelFactory.php中编写了以下内容:
在
post_id
post_title
post_content
post_content_full
author
现在我想使用laravel的seeder和model factory来创建假的fa_IR本地化数据并插入到posts表中。
为此,我在database/factories/ModelFactory.php中编写了以下内容:
$factory->define(App\Post::class, function (Faker\Generator $faker) {
return [
'post_title' => $faker->sentence,
'post_content' => $faker->paragraph,
'post_content_full' => $faker->paragraph(3),
'author' => $faker->name
];
});
然后我创建了一个名为PostsTableSeeder
的类,代码如下:
use Illuminate\Database\Seeder;
class PostsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run ()
{
factory(App\Post::class, 5)->create();
}
}
在
AppServiceProvider.php
中添加以下代码到 register
函数中:$this->app->singleton(FakerGenerator::class, function () {
return FakerFactory::create('fa_IR');
});
但是在运行种子后,Laravel使用默认语言环境(en_US
),忽略了fa_IR
。
我不知道还能做什么。
更新:
即使我在vendor/fzaninotto/faker/src/Faker/Factory.php
中将DEFAULT_LOCALE
常量更改为fa_IR
,也没有任何变化。
->address()
方法吗?可能是因为你正在使用的函数在fa_IR
语言中不受支持。 - user1897253fa_IR
语言中不支持paraphraph
? - undefined