因此,我正在使用Laravel创建数据库并将其作为种子,然后我遇到了一个问题,该问题生成了如下的电话号码:(635) 889-5802 x45134
。这会超出数据库列的所需长度,从而导致问题。
所以我的问题是:
x#####
的实际用例是什么?我环顾四周,找不到很好的解释,最好的猜测是内部组织扩展。 x#####
附加到生成的号码上?我觉得这应该是一个选择。如果不是这样,听起来最好的选择是使用自定义提供程序或正则表达式过滤器来删除这些值。 x####
通常用于指示电话分机。通过查看电话号码提供商的source code,无法删除该分机,因此您必须自己这样做。
但是,您可能需要考虑阅读Falsehoods Programmers Believe About Phone Numbers。
您需要确保伪造者使用的是正确的语言环境。试试这个:
use Faker\Factory as Faker;
//...
$faker = Faker::create('en_GB');
Faker随后将生成GB兼容的电话号码等
为了避免此问题,您的迁移应像这样。。>
$table->string('phone_number');
您的播种机应该是这样。
'phone_number' => $faker->phoneNumber,