Postingan lainnya
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);