skl/database/seeders/PostSeeder.php

47 lines
1.6 KiB
PHP

<?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.');
}
}