我正在尝试创建一个发票号码,如- HCL/LF/02/2018
其中,新发票的编号将增加1。有人能帮我一下吗 invoice_no
? 我在控制器里试过这样的东西-
public function create()
{
$check = OrderProformaInvoice::orderBy('created_at', 'DESC')->get();
$number = 01;
$year = date('Y');
if (count($check) > 0) {
$invoiceNo = OrderProformaInvoice::latest()->first(['invoice_no']);
$arr = array('HCL','LF', $invoiceNo + 1, $year);
$newInvoiceNo = implode("/",$arr);
}else{
$arr = array('HCL','LF', $number, $year);
$newInvoiceNo = implode("/",$arr);
}
return view('admin.marchendaising.order-proforma-invoices.create', compact('newInvoiceNo'));
}
在我看来表单的输入域是-
<input type="text" name="invoice_no" class="form-control" value="{{ $newInvoiceNo }}">
2条答案
按热度按时间cl25kdpy1#
你在这行有错误:
对的:
2wnc66cl2#
你犯了个错误:
$invoiceNo = OrderProformaInvoice::latest()->first(['invoice_no']);
因为您已经计算了所有的OrderProformaInvoice
因此,我们也可以将其设置为一个变量,然后将其增加一个新变量,而不是再次调用数据库。如果要删除数据库记录,可以使用
$invoice = OrderProfromaInvoice::orderBy('created_at', 'desc')->first();
而不是$numOfInvoices++
你能做到的$invoice->id++
它将获取最新发票的id并将其递增1。