120 lines
4.4 KiB
PHP
120 lines
4.4 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\Produk;
|
|
use App\Models\ProdukImage;
|
|
use App\Models\Kategori;
|
|
use App\Models\Petani;
|
|
use Illuminate\Support\Str;
|
|
|
|
class ProdukSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$petani = Petani::inRandomOrder()->first();
|
|
|
|
if (!$petani) {
|
|
$this->command->error('Tabel petani kosong. Jalankan PetaniSeeder terlebih dahulu!');
|
|
return;
|
|
}
|
|
|
|
// KATEGORI
|
|
$kategoriGabah = [
|
|
['nama' => 'Gabah Kering Panen (GKP)', 'slug' => 'gkp', 'ikon' => 'fas fa-seedling'],
|
|
['nama' => 'Gabah Kering Giling (GKG)', 'slug' => 'gkg', 'ikon' => 'fas fa-sun'],
|
|
['nama' => 'Benih Padi Unggul', 'slug' => 'benih-padi', 'ikon' => 'fas fa-leaf'],
|
|
['nama' => 'Padi Ketan', 'slug' => 'padi-ketan', 'ikon' => 'fas fa-box'],
|
|
['nama' => 'Padi Organik', 'slug' => 'padi-organik', 'ikon' => 'fas fa-heart'],
|
|
];
|
|
|
|
foreach ($kategoriGabah as $k) {
|
|
Kategori::firstOrCreate(
|
|
['slug' => $k['slug']],
|
|
[
|
|
'nama_kategori' => $k['nama'],
|
|
'ikon' => $k['ikon']
|
|
]
|
|
);
|
|
}
|
|
|
|
// DAFTAR PRODUK
|
|
$daftarProduk = [
|
|
[
|
|
'nama' => 'Gabah Ciherang (GKP) Baru Panen',
|
|
'harga' => 5200,
|
|
'stok' => 2000,
|
|
'deskripsi' => 'Gabah varietas Ciherang kondisi Kering Panen (GKP). Baru dipotong pagi ini. Bulir kuning bersih, hampa rendah. Lokasi sawah pinggir jalan raya, akses truk mudah.',
|
|
'kategori_slug' => 'gkp',
|
|
'gallery' => 2
|
|
],
|
|
[
|
|
'nama' => 'Gabah IR-64 Siap Giling (GKG)',
|
|
'harga' => 7500,
|
|
'stok' => 500,
|
|
'deskripsi' => 'Gabah IR-64 kondisi Kering Giling (GKG). Kadar air sudah dibawah 14%, siap masuk huller/penggilingan. Dijamin rendemen beras tinggi.',
|
|
'kategori_slug' => 'gkg',
|
|
'gallery' => 3
|
|
],
|
|
[
|
|
'nama' => 'Benih Padi Inpari 32 Bersertifikat',
|
|
'harga' => 15000,
|
|
'stok' => 50,
|
|
'deskripsi' => 'Benih padi varietas Inpari 32 label ungu. Tahan wereng dan penyakit hawar daun. Potensi hasil panen hingga 8 ton/hektar.',
|
|
'kategori_slug' => 'benih-padi',
|
|
'gallery' => 1
|
|
],
|
|
[
|
|
'nama' => 'Gabah Padi Ketan Putih Super',
|
|
'harga' => 8000,
|
|
'stok' => 300,
|
|
'deskripsi' => 'Padi ketan putih murni, tidak tercampur padi biasa. Cocok untuk industri tape atau olahan ketan. Kualitas super.',
|
|
'kategori_slug' => 'padi-ketan',
|
|
'gallery' => 2
|
|
],
|
|
[
|
|
'nama' => 'Gabah Mentik Wangi Organik',
|
|
'harga' => 9000,
|
|
'stok' => 100,
|
|
'deskripsi' => 'Gabah Mentik Wangi (Pandan Wangi Jawa) ditanam full organik tanpa pestisida kimia. Aroma sangat wangi, beras pulen.',
|
|
'kategori_slug' => 'padi-organik',
|
|
'gallery' => 2
|
|
],
|
|
[
|
|
'nama' => 'Gabah Kering Giling (GKG) Situbagendit',
|
|
'harga' => 7200,
|
|
'stok' => 1500,
|
|
'deskripsi' => 'Gabah Situbagendit kering jemur 3 hari. Cocok untuk stok gudang penggilingan. Lokasi Nganjuk.',
|
|
'kategori_slug' => 'gkg',
|
|
'gallery' => 1
|
|
],
|
|
];
|
|
|
|
// INSERT DATA
|
|
foreach ($daftarProduk as $item) {
|
|
$kategori = Kategori::where('slug', $item['kategori_slug'])->first();
|
|
|
|
// Create Produk
|
|
$produk = Produk::create([
|
|
'petani_id' => $petani->id,
|
|
'kategori_id' => $kategori->id,
|
|
'nama_produk' => $item['nama'],
|
|
'harga' => $item['harga'],
|
|
'stok' => $item['stok'],
|
|
'deskripsi' => $item['deskripsi'],
|
|
'foto_produk' => null,
|
|
]);
|
|
|
|
for ($i = 0; $i < $item['gallery']; $i++) {
|
|
ProdukImage::create([
|
|
'produk_id' => $produk->id,
|
|
'foto' => 'dummy/gabah/sample_' . $i . '.jpg',
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
} |