所以我使用Laravel 5.5并且我遇到了最棘手的问题。 我的数据库是一个MySQL数据库,每当我运行我的查询时,Debugbar会说出正确的查询,但每当我检查实际数据库时,它的值就比应该少一个。
例如,我给它提供了以下查询(在DebugBar中显示):
update `whitelist` set `AdminRank` = '5' where `PlayerUID` = '\"76561198066771722\"'
在以下陈述中使用eloquent创建:
DB::table('whitelist')
->where('PlayerUID', $formData['playerID'])
->update(["$colName"=> $rank]);
然而,在数据库中,“管理员”#39;显示为' 4'的值而不是5.我已经完全松散了,因为我不知道是什么导致了这一点。 我很想在更新之前简单地为我的所有值添加1但是我真的想避免它,因为它是超级hacky。
旁注:是的,玩家ID应该是双引号,这是一个很长的故事,但这不是问题..
答案 0 :(得分:0)
事实证明,laravel使用索引而不是值来解释ENUM。感谢@btl为那个。