2017-10-21 124 views
1
App\Employee::max('salary'); 

如果工資大於99,999,則不會給出最大值。工資欄類型是字符串,因爲工資欄可以包含工資金額或文本信息。Laravel雄辯功能不會給出大於99,999的正確值

我能做些什麼來解決這個問題?

謝謝。

+0

什麼是薪酬的列類型? – Ohgodwhy

+1

爲什麼數字的列是一個字符串?這使得零感覺,並可能是你的問題在這裏的原因。 'max'一次只能處理一種類型的數據。有「多」的工資會破壞一切。 – tadman

回答

1

我可能是錯的,但max SQL函數只能使用數字類型。嘗試從VARCHAR切換到FLOAT

+0

薪水「INT」更有意義。如果某人實際上被支付小數部分的貨幣,那麼帶有固定地點的'DECIMAL'是最好的。使用FLOAT是因爲浮點奇怪而最終陷入了一個受到傷害的世界。 – tadman

+0

工資欄可以包含工資金額或「此員工不再在此工作」的消息。這就是爲什麼我使用字符串來存儲工資或消息。 – Afraz

+0

這根本不是好習慣,我寧願讓薪金列可以爲空,並且如果員工不再有薪水並且爲工作狀態/額外評論添加單獨的列,則將其設置爲NULL。 – Tudor