簡體   English   中英

Laravel-用不同的值更新多個記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM