47 lines
1.6 KiB
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.');
|
|
}
|
|
}
|