有没有办法让Faker gem生成"相关的"城市和国家代码值?
例如,
我这样做:
FactoryGirl.define do
factory :location do
...
city {Faker::Address.city}
country_code {['US', 'CA'].sample}
...
end
end
Run Code Online (Sandbox Code Playgroud)
但是不能保证city意志实际存在country_code.
我会满足于:
postal_code {Faker::Address.postcode(['US', 'CA'].sample) }
Run Code Online (Sandbox Code Playgroud)
然后我可以进行地理编码以获得其他值.
在Laravel我使用Faker.(fzaninotto/Faker)
无法更改生成的文本的区域设置(语言).
我的代码:
use Faker\Factory as Faker;
class MySeeder extends Seeder {
public function run() {
$faker = Faker::create('ru_RU');
$randomSentence = $faker->sentence();
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,结果$randomSentence包含来自默认语言环境('en_EN')的生成文本.
PS Faker已更新.文件夹'\ vendor\fzaninotto\faker\src\Faker\Provider\ru_RU'包含Text.php
我是Yii框架的新手.我想为我的数据库播种,就像可以使用Faker在Laravel框架中完成一样.我试过这个http://www.yiiframework.com/forum/index.php/topic/59655-how-to-seed-yii2-database/,但它没有提供太多细节.如果有人可以帮助我完成细节步骤,我将非常感激.
所以我创建与Laravel数据库和播种它,我遇到了在那里产生一个电话号码如下问题:(635) 889-5802 x45134。这会因超出数据库列的所需长度而导致问题。
所以我的问题是:
x#####什么?我环顾四周,找不到一个好的解释,最好的猜测是内部组织扩展。x#####附加到生成的数字上?我觉得这应该是一个选择。如果不是,听起来我最好的选择是自定义提供程序或正则表达式过滤器来删除这些值。我试图设置使用DjangoModelFactory从UserFactory factory_boy和法克尔。这是我的代码。
fake = Faker('uk_UA')
class UserFactory(DjangoModelFactory):
class Meta:
model = User
username = fake.user_name
first_name = fake.first_name_male
last_name = fake.last_name_male
email = fake.safe_email
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用它时出现错误:
DataError Traceback (most recent call last)
/Users/mero/.virtualenvs/fine-hut/lib/python3.6/site-packages/django/db/backends/utils.py in execute(self, sql, params)
63 else:
---> 64 return self.cursor.execute(sql, params)
65
DataError: value too long for type character varying(30)
Run Code Online (Sandbox Code Playgroud)
我认为问题出在 Faker 生成的太长的字段中。但是我没有找到任何方法来限制它在 python 中的长度,尽管几乎没有找到 Ruby Faker 的答案。
有没有办法在 python Faker 中做到这一点?或者也许还有其他方法可以使用 Faker 生成特定于语言环境的字段?
./gradlew测试
任务:compileTestJava FAILED 失败:构建因异常而失败。
* What went wrong:
Execution failed for task ':compileTestJava'.
> Could not find snakeyaml-1.27-android.jar (org.yaml:snakeyaml:1.27).
Searched in the following locations:
file:/Users/user/.m2/repository/org/yaml/snakeyaml/1.27/snakeyaml-1.27-android.jar
Run Code Online (Sandbox Code Playgroud)
我在 build.gradle 文件中使用以下定义收到上述错误,尝试从 javafaker 中排除也无济于事。我应该在这里做什么?
// faker
testImplementation('com.github.javafaker:javafaker:1.0.2')
testImplementation group: 'org.yaml', name: 'snakeyaml', version: '1.27'
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种使用 laravel Faker 生成最小和最大字符数之间的随机字符串的方法。我必须在4和20字符之间创建随机字符串。此方法str_random将生成正好 20 个字符,但如何指定最小字符数?
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => str_random(20),
];
});Run Code Online (Sandbox Code Playgroud)
更新:我现在使用以下代码作为解决方法:
'name' => substr($faker->name(), 0, rand(4, 20))
Run Code Online (Sandbox Code Playgroud) 我最近开始与 Faker 合作,因为它能够将数据本地化到各个区域。当尝试生成本地化电话号码时,我意识到电话号码有多种格式,如此处所示。我想知道是否可以将所有生成的电话号码都设置为如下格式:(+91 ##########),无论国家/地区代码如何,它都保持不变。谢谢!
我试图使用 Faker (Python) 生成随机中文名称,但它生成的是中文字符而不是拼音的名称。
我找到了这个 :

它显示它以拼音生成它们,而当我尝试相同的代码时,它只给我汉字。
怎么得到拼音??
faker ×10
php ×3
python ×3
laravel ×2
cjk ×1
django ×1
java ×1
javascript ×1
localization ×1
phone-number ×1
ruby ×1
seeding ×1
snakeyaml ×1
yii ×1
yii2 ×1