2017-10-21 115 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