Генерация случайных строк в нескольких полях в сидере Laravel
Один вызов Str::random
заполняет одно поле. Для slug
и текста нужны отдельные вызовы -
каждый вернёт свою случайную
строку. Длина может отличаться:
короткий slug, длинный текст.
Заполним все строковые поля
таблицы posts генератором:
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
DB::table('posts')->insert([
'title' => Str::random(10),
'slug' => Str::random(10),
'text' => Str::random(50),
]);
}
}
?>
Три вызова - три независимых
значения. random(50)
даёт более длинную строку
для поля text.
Тот же приём подходит для таблицы
users - имя и фамилию
зададим случайными строками:
<?php
DB::table('users')->insert([
'name' => Str::random(10),
'surn' => Str::random(10),
]);
?>
Выполним команду на вставку:
php artisan db:seed
Сделайте сидер, который добавит в базу пост со случайными заголовком, slug и текстом.
Сделайте сидер, который добавит в базу пользователя со случайными именем и фамилией.