
Pada kesempatan kali ini saya akan membagikan sebuah tulisan mengenai cara penggunaan str_replace & ltrim pada laravel, pada kasus ini saya gunakan untuk membuat No Invoice.
Berikut cara penggunaannya
public function up()
{
Schema::create('invoice_members', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('invoice_member_id');
$table->unsignedBigInteger('member_id');
$table->date('issue_date');
$table->date('due_date');
$table->date('send_date')->nullable();
$table->integer('category_id');
$table->text('ref_number')->nullable();
$table->integer('status')->default('0');
$table->integer('shipping_display')->default('1');
$table->integer('created_by')->default('0');
$table->integer('partial_tagihan');
$table->timestamps();
});
}
Untuk no invoice nya sendiri nanti yang akan kita gunakan dengan nama inovice_member_id
Pada function store nya kurang lebih sepert ini
$last_record = InvoiceMember::select()->orderBy('id', 'DESC')->first();
if ($last_record) {
$no_invoice = str_replace('INV-', '', $last_record->invoice_member_id);
$no = ltrim($no_invoice, "0") + 1;
$substr = substr_replace($no_invoice, "", -strlen($no));
$invoice_no = ('INV-') . '' . $substr . $no;
} else {
$invoice_no = ('INV-') . '' . '0001';
}
$invoice = new InvoiceMember();
$invoice->invoice_member_id = $invoice_no;
$last_record kita melakukan pengecekan terlebih dahulu apakah no invoice sudah tersedia apa belum
Dan Untuk hasilnya seperti dibawah ini
Terimakasih, semoga bisa bermanfaat untuk para pembaca terutama bagi penulis sendiri
Haturnuhun . .
Comments