[英]Laravel - update multiple records with different values
我有一張桌子,類似於:
| key | value |
|----------|-------|
| limit | 15 |
| viplimit | 25 |
| .. | |
我有一個數組:
Array
(
[0] => Array
(
[key] => limit
[value] => 10
)
[1] => Array
(
[key] => viplimit
[value] => 99
)
...
現在,說我們有100行。 更新與數組對應的表的最佳方法是什么?
每100行將有一個查詢選項,但這只是糟糕的性能。
這應該工作:
$statement = "UPDATE mytable
SET key = CASE id
WHEN 1 THEN 'key'
WHEN 2 THEN 'another_key'
WHEN 3 THEN 'some_key'
END,
value = CASE id
WHEN 1 THEN 15
WHEN 2 THEN 25
WHEN 3 THEN 45
END
WHERE id IN (1, 2, 3)
");
DB::statement($statement);
只要想一想如何創建正確的查詢。 如果它是管理面板或將不經常運行的東西,我只是使用迭代來使事情保持簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.