public function updateReviewColumn(){ $reviewData = $this->pluck('indicator')->toArray(); foreach ($reviewData as $datum) { if ($datum == 'Y') $this->where('indicator', $datum) ->update(['reviewindicator' => 'Yes']); else $this->where('indicator', $datum) ->update(['reviewindicator' => 'No']); } }
我将把下面的问题转换成雄辩的语句:
UPDATE yourTable SET indicator = IF(indicator = 'Y', 'Yes','No'), WHERE indicator= 'Y' OR indicator= 'N'
我认为您应该使用DB raw query(如果您落后于MySQL的话)
MyTable::where('indicator', 'Y')->update(['indicator' => 'Yes']); MyTable::where('indicator', 'N')->update(['indicator' => 'No']);
如果在MySQL中启用了安全的\u更新,可能会遇到问题