Laravel - Eloquent Update 1比它说的更少?

时间:2018-02-03 20:11:38

标签: php mysql laravel laravel-5 eloquent

所以我使用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应该是双引号,这是一个很长的故事,但这不是问题..

1 个答案:

答案 0 :(得分:0)

事实证明,laravel使用索引而不是值来解释ENUM。感谢@btl为那个。