<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Carbon\Carbon;

class PostSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        // Ambil kategori dan subkategori dari database
        $kategori = DB::table('Kategori')->pluck('KategoriId')->toArray();
        $subkategori = DB::table('SubKategori')->pluck('SubKategoriId')->toArray();

        if (empty($kategori) || empty($subkategori)) {
            $this->command->info('Tidak ada data kategori atau subkategori. Harap jalankan seeder kategori dan subkategori terlebih dahulu.');
            return;
        }

        // Buat 10 post dummy
        for ($i = 1; $i <= 10; $i++) {
            $judul = "Judul Post " . $i;
            $slug = Str::slug($judul);

            DB::table('Post')->insert([
                'KategoriId' => $kategori[array_rand($kategori)],
                'SubKategoriId' => $subkategori[array_rand($subkategori)],
                'JudulPost' => $judul,
                'SlugPost' => $slug,
                'DescPost' => "<p>Deskripsi konten untuk $judul</p>",
                'ImagePost' => 'images/posts/default.png', // Pastikan ada file default.png di folder public/images/posts/
                'IsPublish' => rand(0, 1),
                'created_at' => Carbon::now()->subDays(rand(1, 30))->format('Y-m-d H:i:s'),
                'updated_at' => Carbon::now()->format('Y-m-d H:i:s'),
            ]);
        }

        $this->command->info('Seeder post berhasil dijalankan.');
    }
}
