Генерация даты и времени через Faker в Laravel
Колонки datetime
и timestamp хранят
момент времени. Метод
dateTime возвращает
объект DateTime -
при вставке Laravel преобразует
его в нужный формат.
Посмотрим в контроллере:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function index()
{
dump(fake()->dateTime());
dump(fake()->dateTime('-1 year', 'now'));
}
}
?>
Строка '-1 year' -
«год назад», 'now' -
сейчас. В сидере для
published_at:
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
DB::table('posts')->insert([
'title' => fake()->sentence(3),
'slug' => fake()->slug(3),
'text' => fake()->paragraph(3),
'published_at' => fake()->dateTime('-30 days', 'now'),
]);
}
}
?>
Выполним команду:
php artisan db:seed
Сгенерируйте dateTime
за последние 7 дней
через dump.
В сидере добавьте пост
с published_at
от Faker.