@lexstile

Как задать для factory в laravel маски для телефона/email?

Я бы хотел, чтобы email создавались по маске, например: test1@mail.ru, test2@mail.ru...
А телефоны по маске, например 70000000001, 70000000002, 70000000003... 70000000100 ....
Как я могу это сделать средствами laravel?

Идеально бы было получить текущую итерацию и просто увеличивать телефон на единицу и добавлять к базовой почте число текущей итерации.

# UserSeeder
public function run()
{
    User::factory()
            ->count(100)
            ->make();
}
        # UserFactory
    public function definition()
    {
        return [
            'first_name' => fake()->firstName(),
            'last_name' => fake()->lastName(),
            'phone' => fake()->unique()->phoneNumber(),
            'role' => User::OWNER,
            'email' => fake()->unique()->safeEmail(),
            'email_verified_at' => now(),
            'password' => bcrypt('12345678'),
            'remember_token' => Str::random(10),
        ];
    }
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
iMedved2009
@iMedved2009
Не люблю людей
1. Email
$firstName = fake()->firstName();
$emal = $firstName.'@mail.ru';


2. Phone
private static $phone = 0;<br>
<br>
$phone = '700000000'.str_pad((self::phone++), 2, '0');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы