2015-06-23 38 views
3

我正在爲laravel中的多個工廠開發一個會計系統。我有一個帳單號,它是自動遞增的並且是主鍵。我想要的是有一個單獨的賬單號。爲每個工廠。即如果工廠A創建ID爲1的帳單,則其下一帳單應該具有ID 2而不是其他某個ID,例如3,4,這是因爲當ID 2已被工廠B帳單佔用時。 所以我想要基於另一個密鑰的主鍵增量

bill_id factory_id 
    1  A 
    1  B 
    2  B 
    3  B 
    2  A 

代替

bill_id factory_id 
    1  A 
    2  B 
    3  B 
    4  B 
    5  A 

我尋覓了很多,但無法找到一個解決方案。我認爲stack overflow question是解決方案,但任何人都可以更多地解釋它,以及如何在laravel中實現它?

+0

'AUTO_INCREMENT'根本不能像這樣工作。你必須手動完成。 – Sammitch

+0

你檢查了鏈接中給出的解決方案嗎?我需要拉拉維爾那樣的東西。 –

回答

0

TRY:

SELECT * FROM table_name WHERE factory_id='A' ORDER BY bill_id DESC LIMIT 1 

這將返回特定工廠的最後一個ID,從此你可以用增量執行INSERT語句。請注意,bill_id不應該是主要的。

+0

但返回的最後一個ID將是一個包含所有工廠賬單數量的數字。但我只想得到特定工廠的賬單數量,包括刪除賬單。即不同工廠的賬單號碼可能會重複,但工廠的賬單號碼必須是唯一的。 –