Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Pertanyaan seputar laravel database
Permisi saya memiliki pertanyaan dimana saya mengalami sebuah masalah di dalam table qty, harga dan harga_diskon yang terdapat tanda (,) di dalam table tersebut ketika menginput sebuah nilai ribuan/jutaan untuk tipe data yang saya pakai adalah integer, double dan double. Untuk lebih lengkap nya sebagai berikut product_table:
$table->id();
$table->string('nama');
$table->string('slug');
$table->text('thumb_gambar');
$table->integer('kategori_id');
$table->integer('sub_kategori_id')->nullable();
$table->integer('anak_kategori_id')->nullable();
$table->integer('brand_id');
$table->integer('qty');
$table->text('deskripsi_pendek');
$table->text('deskripsi_panjang');
$table->text('video_link')->nullable();
$table->string('sku')->nullable();
$table->double('harga');
$table->double('harga_diskon')->nullable();
$table->date('tanggal_diskon_mulai')->nullable();
$table->date('tanggal_diskon_akhir')->nullable();
$table->string('tipe_produk')->nullable();
$table->integer('berat');
$table->boolean('status');
$table->string('seo_title')->nullable();
$table->text('seo_deskripsi')->nullable();
$table->timestamps();
setelah itu saya memiliki sebuah validasi di dalam sebuah controller yang bernama ProductController.php :
$request->validate([
'image' => ['required', 'image', 'max:3000'],
'name' => ['required', 'max:200'],
'category' => ['required'],
'brand' => ['required'],
'price' => ['required'],
'qty' => ['required'],
'wight' => ['required'],
'short_description' => ['required', 'max:600'],
'long_description' => ['required'],
'seo_title' => ['nullable','max:200'],
'seo_description' => ['nullable','max:250'],
'status' => ['required']
]);
$imagePath = $this->uploadImage($request, 'image', 'uploads');
// Handle Date Form
$tanggal_diskon_mulai = Carbon::createFromFormat('m/d/Y', $request->offer_start_date)->format('Y-m-d');
$tanggal_diskon_akhir = Carbon::createFromFormat('m/d/Y', $request->offer_end_date)->format('Y-m-d');
$product = new Product();
$product->thumb_gambar = $imagePath;
$product->nama = $request->name;
$product->slug = Str::slug($request->name);
$product->kategori_id = $request->category;
$product->sub_kategori_id = $request->sub_category;
$product->anak_kategori_id = $request->child_category;
$product->brand_id = $request->brand;
$product->qty = $request->qty;
$product->berat = $request->wight;
$product->deskripsi_pendek = $request->short_description;
$product->deskripsi_panjang = $request->long_description;
$product->video_link = $request->video_link;
$product->sku = $request->sku;
$product->harga = $request->price;
$product->harga_diskon = $request->offer_price;
$product->tanggal_diskon_mulai = $tanggal_diskon_mulai;
$product->tanggal_diskon_akhir = $tanggal_diskon_akhir;
$product->tipe_produk = $request->product_type;
$product->status = $request->status;
$product->seo_title = $request->seo_title;
$product->seo_deskripsi = $request->seo_description;
$product->save();
Mohon bantuannya untuk menyelesaikan masalah yang saya hadapi sekarang. Terimakasihh
Tanggapan
Halo Agung, bisa dijelaskan masalahnya apa?
1 Jawaban:
mungkin karena adanya placeholder,,, misal kayak 1,000,000 gitu,,, jadi perlu di ubah dulu menjadi number only
$harga = str_replace(',', '', $request->price);
$harga_diskon = str_replace(',', '', $request->offer_price);
$qty = str_replace(',', '', $request->qty);
$berat = str_replace(',', '', $request->wight);