feat: add ArticleSeeder to populate sample articles and their categories.

This commit is contained in:
Yoga Pangestu 2026-02-20 10:53:23 +07:00
parent 63ce676385
commit b37ae44c0d
2 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,94 @@
<?php
namespace Database\Seeders;
use App\Enums\ArticleStatus;
use App\Enums\CategoryType;
use App\Models\Article;
use App\Models\Category;
use App\Models\User;
use Illuminate\Database\Seeder;
class ArticleSeeder extends Seeder
{
public function run(): void
{
$author = User::first() ?? User::factory()->create();
$categories = collect(['Tips & Trik', 'Review Parfum', 'Berita', 'Edukasi Parfum'])->map(function ($name, $index) {
return Category::firstOrCreate(
['name' => $name, 'type' => CategoryType::ARTICLE],
[
'sort_order' => $index + 1,
]
);
});
$articles = [
[
'title' => 'Cara Memilih Wangi Parfum yang Tepat untuk Kepribadian Anda',
'excerpt' => 'Menemukan wangi yang sesuai dengan karakter Anda bisa menjadi tantangan. Simak tips berikut untuk menemukan signature scent Anda.',
'content' => '<p>Parfum bukan sekadar wewangian, tapi juga identitas. Untuk memilih parfum yang tepat, kenali dulu keluarga aroma seperti floral, woody, oriental, atau fresh...</p>',
],
[
'title' => '5 Jenis Parfum yang Cocok untuk Pria Maskulin',
'excerpt' => 'Rekomendasi parfum terbaik untuk pria yang ingin tampil lebih percaya diri dan maskulin.',
'content' => '<p>Pria seringkali menyukai aroma yang kuat dan tahan lama. Pilihan seperti aroma kayu (woody) atau rempah (spicy) sangat cocok untuk menunjang penampilan...</p>',
],
[
'title' => 'Rahasia Agar Wangi Parfum Tahan Seharian',
'excerpt' => 'Kesal wangi parfum cepat hilang? Coba tips sederhana ini agar aroma favorit Anda bertahan lebih lama.',
'content' => '<p>Salah satu kunci agar parfum tahan lama adalah mengaplikasikannya di titik-titik nadi. Selain itu, pastikan kulit Anda lembap sebelum menyemprotkan parfum...</p>',
],
[
'title' => 'Perbedaan Eau de Parfum, Eau de Toilette, dan Cologne',
'excerpt' => 'Sering bingung dengan istilah-istilah parfum? Ketahui perbedaannya agar tidak salah beli.',
'content' => '<p>Perbedaan utama terletak pada konsentrasi minyak wangi. Eau de Parfum memiliki konsentrasi lebih tinggi dibanding Eau de Toilette, sehingga wanginya lebih tahan lama...</p>',
],
[
'title' => 'Tren Parfum Tahun Ini: Aroma Floral Masih Jadi Favorit',
'excerpt' => 'Simak tren wewangian yang sedang hits tahun ini. Apakah aroma favorit Anda masuk dalam daftar?',
'content' => '<p>Tahun ini, aroma floral dengan sentuhan modern masih mendominasi pasar. Kombinasi bunga mawar dan melati dengan sedikit sentuhan buah-buahan segar...</p>',
],
[
'title' => 'Mengapa Harga Parfum Bisa Sangat Mahal?',
'excerpt' => 'Pernah bertanya-tanya kenapa satu botol parfum bisa berharga jutaan rupiah? Ini alasannya.',
'content' => '<p>Bahan-bahan langka, proses ekstraksi yang rumit, hingga branding dan kemasan mewah menjadi faktor-faktor yang menentukan harga sebuah parfum...</p>',
],
[
'title' => 'Parfum Unisex: Pilihan Fleksibel untuk Semua Gender',
'excerpt' => 'Parfum unisex semakin populer. Apa yang membuatnya disukai banyak orang?',
'content' => '<p>Parfum unisex menawarkan aroma yang netral, tidak terlalu feminin maupun maskulin. Biasanya memiliki karakter aroma citrus atau green yang segar...</p>',
],
[
'title' => 'Cara Menyimpan Parfum Agar Aromanya Tidak Berubah',
'excerpt' => 'Penyimpanan yang salah bisa merusak kualitas parfum. Ketahui cara menyimpannya dengan benar.',
'content' => '<p>Hindari menyimpan parfum di tempat yang terkena sinar matahari langsung atau suhu panas. Lemari yang sejuk dan gelap adalah tempat terbaik...</p>',
],
[
'title' => 'Rekomendasi Parfum Lokal Berkualitas Internasional',
'excerpt' => 'Bangga buatan Indonesia! Ini dia daftar parfum lokal yang kualitasnya tak kalah dengan brand luar.',
'content' => '<p>Industri parfum tanah air semakin berkembang. Banyak brand lokal yang kini menawarkan kualitas aroma dan ketahanan yang mampu bersaing di kancah global...</p>',
],
[
'title' => 'Sejarah Parfum: Dari Mesir Kuno hingga Modern',
'excerpt' => 'Jelajahi sejarah panjang wewangian yang telah digunakan manusia sejak ribuan tahun lalu.',
'content' => '<p>Sejarah parfum bermula dari Mesir Kuno, di mana wewangian digunakan dalam upacara keagamaan. Seiring waktu, parfum berkembang menjadi simbol status dan gaya hidup...</p>',
],
];
foreach ($articles as $data) {
$article = Article::create([
'author_id' => $author->id,
'title' => $data['title'],
'excerpt' => $data['excerpt'],
'content' => $data['content'],
'status' => ArticleStatus::PUBLISHED,
'published_at' => now()->subDays(rand(1, 30)),
'views' => rand(100, 5000),
]);
$article->categories()->attach($categories->random(rand(1, 2))->pluck('id'));
}
}
}

View File

@ -50,6 +50,7 @@ public function run(): void
PerfumeFeatureSeeder::class,
ChooseUsSeeder::class,
TestimonialSeeder::class,
ArticleSeeder::class,
]);
}
}