feat: Add seeders for Buku and Kategori with initial data
This commit is contained in:
@@ -7,41 +7,20 @@ use Inertia\Middleware;
|
|||||||
|
|
||||||
class HandleInertiaRequests extends Middleware
|
class HandleInertiaRequests extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* The root template that's loaded on the first page visit.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/server-side-setup#root-template
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $rootView = 'app';
|
protected $rootView = 'app';
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines the current asset version.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/asset-versioning
|
|
||||||
*/
|
|
||||||
public function version(Request $request): ?string
|
public function version(Request $request): ?string
|
||||||
{
|
{
|
||||||
return parent::version($request);
|
return parent::version($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the props that are shared by default.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/shared-data
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function share(Request $request): array
|
public function share(Request $request): array
|
||||||
{
|
{
|
||||||
return [
|
return array_merge(parent::share($request), [
|
||||||
...parent::share($request),
|
|
||||||
//
|
|
||||||
'flash' => [
|
'flash' => [
|
||||||
'success' => fn () => $request->session()->get('success'),
|
'success' => fn() => $request->session()->get('success'),
|
||||||
'error' => fn () => $request->session()->get('error'),
|
'error' => fn() => $request->session()->get('error'),
|
||||||
],
|
],
|
||||||
];
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
160
database/seeders/BukuSeeder.php
Normal file
160
database/seeders/BukuSeeder.php
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Buku;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class BukuSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
$bukus = [
|
||||||
|
// Fiksi (kategori_id: 1)
|
||||||
|
[
|
||||||
|
'kategori_id' => 1,
|
||||||
|
'judul' => 'Laskar Pelangi',
|
||||||
|
'pengarang' => 'Andrea Hirata',
|
||||||
|
'penerbit' => 'Bentang Pustaka',
|
||||||
|
'tahun_terbit' => 2005,
|
||||||
|
'isbn' => '978-979-1227-01-1',
|
||||||
|
'stok' => 5,
|
||||||
|
'stok_tersedia'=> 5,
|
||||||
|
'sinopsis' => 'Kisah persahabatan sepuluh anak kampung Belitung yang penuh semangat dalam menggapai mimpi.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 1,
|
||||||
|
'judul' => 'Bumi Manusia',
|
||||||
|
'pengarang' => 'Pramoedya Ananta Toer',
|
||||||
|
'penerbit' => 'Hasta Mitra',
|
||||||
|
'tahun_terbit' => 1980,
|
||||||
|
'isbn' => '978-979-428-615-8',
|
||||||
|
'stok' => 4,
|
||||||
|
'stok_tersedia'=> 4,
|
||||||
|
'sinopsis' => 'Novel pertama dari Tetralogi Buru yang mengisahkan Minke, seorang pribumi terpelajar di era kolonial Belanda.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 1,
|
||||||
|
'judul' => 'Negeri 5 Menara',
|
||||||
|
'pengarang' => 'Ahmad Fuadi',
|
||||||
|
'penerbit' => 'Gramedia Pustaka Utama',
|
||||||
|
'tahun_terbit' => 2009,
|
||||||
|
'isbn' => '978-979-22-4854-0',
|
||||||
|
'stok' => 3,
|
||||||
|
'stok_tersedia'=> 3,
|
||||||
|
'sinopsis' => 'Kisah inspiratif enam santri dari pelosok nusantara yang menuntut ilmu di Pondok Madani.',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Non-Fiksi (kategori_id: 2)
|
||||||
|
[
|
||||||
|
'kategori_id' => 2,
|
||||||
|
'judul' => 'Sebuah Seni untuk Bersikap Bodo Amat',
|
||||||
|
'pengarang' => 'Mark Manson',
|
||||||
|
'penerbit' => 'Gramedia Pustaka Utama',
|
||||||
|
'tahun_terbit' => 2018,
|
||||||
|
'isbn' => '978-602-03-7458-2',
|
||||||
|
'stok' => 6,
|
||||||
|
'stok_tersedia'=> 6,
|
||||||
|
'sinopsis' => 'Pendekatan yang tidak konvensional untuk menjalani kehidupan yang baik dengan fokus pada hal-hal yang benar-benar penting.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 2,
|
||||||
|
'judul' => 'Atomic Habits',
|
||||||
|
'pengarang' => 'James Clear',
|
||||||
|
'penerbit' => 'Penguin Random House',
|
||||||
|
'tahun_terbit' => 2018,
|
||||||
|
'isbn' => '978-0-7352-1129-2',
|
||||||
|
'stok' => 5,
|
||||||
|
'stok_tersedia'=> 5,
|
||||||
|
'sinopsis' => 'Panduan praktis tentang cara membangun kebiasaan baik dan menghilangkan kebiasaan buruk.',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Sains & Teknologi (kategori_id: 3)
|
||||||
|
[
|
||||||
|
'kategori_id' => 3,
|
||||||
|
'judul' => 'A Brief History of Time',
|
||||||
|
'pengarang' => 'Stephen Hawking',
|
||||||
|
'penerbit' => 'Bantam Books',
|
||||||
|
'tahun_terbit' => 1988,
|
||||||
|
'isbn' => '978-0-553-38016-3',
|
||||||
|
'stok' => 3,
|
||||||
|
'stok_tersedia'=> 3,
|
||||||
|
'sinopsis' => 'Penjelasan ilmiah tentang asal usul alam semesta, lubang hitam, dan waktu untuk pembaca umum.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 3,
|
||||||
|
'judul' => 'Clean Code',
|
||||||
|
'pengarang' => 'Robert C. Martin',
|
||||||
|
'penerbit' => 'Prentice Hall',
|
||||||
|
'tahun_terbit' => 2008,
|
||||||
|
'isbn' => '978-0-13-235088-4',
|
||||||
|
'stok' => 4,
|
||||||
|
'stok_tersedia'=> 4,
|
||||||
|
'sinopsis' => 'Panduan menulis kode program yang bersih, mudah dibaca, dan mudah dipelihara.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 3,
|
||||||
|
'judul' => 'The Pragmatic Programmer',
|
||||||
|
'pengarang' => 'Andrew Hunt & David Thomas',
|
||||||
|
'penerbit' => 'Addison-Wesley',
|
||||||
|
'tahun_terbit' => 1999,
|
||||||
|
'isbn' => '978-0-201-61622-4',
|
||||||
|
'stok' => 3,
|
||||||
|
'stok_tersedia'=> 3,
|
||||||
|
'sinopsis' => 'Panduan klasik untuk menjadi programmer yang lebih efektif dan profesional.',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Sejarah (kategori_id: 4)
|
||||||
|
[
|
||||||
|
'kategori_id' => 4,
|
||||||
|
'judul' => 'Sapiens: Riwayat Singkat Umat Manusia',
|
||||||
|
'pengarang' => 'Yuval Noah Harari',
|
||||||
|
'penerbit' => 'Gramedia Pustaka Utama',
|
||||||
|
'tahun_terbit' => 2015,
|
||||||
|
'isbn' => '978-602-03-1842-5',
|
||||||
|
'stok' => 5,
|
||||||
|
'stok_tersedia'=> 5,
|
||||||
|
'sinopsis' => 'Narasi besar tentang sejarah manusia dari zaman batu hingga era modern.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 4,
|
||||||
|
'judul' => 'Indonesia Dalam Arus Sejarah',
|
||||||
|
'pengarang' => 'Taufik Abdullah',
|
||||||
|
'penerbit' => 'Ichtiar Baru van Hoeve',
|
||||||
|
'tahun_terbit' => 2012,
|
||||||
|
'isbn' => '978-979-9066-95-0',
|
||||||
|
'stok' => 4,
|
||||||
|
'stok_tersedia'=> 4,
|
||||||
|
'sinopsis' => 'Ensiklopedia sejarah Indonesia yang komprehensif dari masa prasejarah hingga reformasi.',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Pendidikan (kategori_id: 5)
|
||||||
|
[
|
||||||
|
'kategori_id' => 5,
|
||||||
|
'judul' => 'Matematika Dasar untuk Perguruan Tinggi',
|
||||||
|
'pengarang' => 'Purcell & Varberg',
|
||||||
|
'penerbit' => 'Erlangga',
|
||||||
|
'tahun_terbit' => 2010,
|
||||||
|
'isbn' => '978-979-781-234-5',
|
||||||
|
'stok' => 8,
|
||||||
|
'stok_tersedia'=> 8,
|
||||||
|
'sinopsis' => 'Buku teks matematika dasar yang lengkap untuk mahasiswa perguruan tinggi.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'kategori_id' => 5,
|
||||||
|
'judul' => 'Pengantar Ilmu Komputer',
|
||||||
|
'pengarang' => 'Rinaldi Munir',
|
||||||
|
'penerbit' => 'Informatika Bandung',
|
||||||
|
'tahun_terbit' => 2016,
|
||||||
|
'isbn' => '978-602-1514-10-5',
|
||||||
|
'stok' => 6,
|
||||||
|
'stok_tersedia'=> 6,
|
||||||
|
'sinopsis' => 'Buku pengantar ilmu komputer yang cocok untuk mahasiswa semester pertama.',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($bukus as $buku) {
|
||||||
|
Buku::create($buku);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,24 +2,15 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
use App\Models\User;
|
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
class DatabaseSeeder extends Seeder
|
class DatabaseSeeder extends Seeder
|
||||||
{
|
{
|
||||||
use WithoutModelEvents;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Seed the application's database.
|
|
||||||
*/
|
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
// User::factory(10)->create();
|
$this->call([
|
||||||
|
KategoriSeeder::class,
|
||||||
User::factory()->create([
|
BukuSeeder::class
|
||||||
'name' => 'Test User',
|
|
||||||
'email' => 'test@example.com',
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
24
database/seeders/KategoriSeeder.php
Normal file
24
database/seeders/KategoriSeeder.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Kategori;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class KategoriSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
$kategoris = [
|
||||||
|
['nama_kategori' => 'Fiksi', 'deskripsi' => 'Buku-buku fiksi dan novel'],
|
||||||
|
['nama_kategori' => 'Non-Fiksi', 'deskripsi' => 'Buku berdasarkan fakta'],
|
||||||
|
['nama_kategori' => 'Sains & Teknologi', 'deskripsi' => 'Buku ilmu pengetahuan dan teknologi'],
|
||||||
|
['nama_kategori' => 'Sejarah', 'deskripsi' => 'Buku sejarah'],
|
||||||
|
['nama_kategori' => 'Pendidikan', 'deskripsi' => 'Buku pelajaran dan pendidikan'],
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($kategoris as $kategori) {
|
||||||
|
Kategori::create($kategori);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user