【问题标题】:Illegal offset type laravel 5.7非法偏移类型laravel 5.7
【发布时间】:2019-07-16 07:03:42
【问题描述】:

我想用相同的值更新 4 个字段,所以我这样做了:

UpdateModel::where('model_id', $id)->update([['is_1_ans', 'is_2_ans', 'is_3_ans', 'is_4_ans'] => 1]);

但我 laravel 给了我这个错误;

非法偏移类型

我知道我做错了,但我想知道如何根据需要更新具有相同值的多个字段?

【问题讨论】:

    标签: laravel laravel-5 laravel-5.7


    【解决方案1】:

    我不认为这是开箱即用的,但您可以这样做来填充键的值:

    // The keys you want to update
    $keys = ['is_1_ans', 'is_2_ans', 'is_3_ans', 'is_4_ans'];
    
    // We use array_fill_keys to fill "1" to all the keys above
    $updates = array_fill_keys($keys, 1);
    
    // This will result in
    // $updates = ['is_1_ans' => 1, 'is_2_ans' => 1, 'is_3_ans' => 1, 'is_4_ans' => 1];
    
    // Then you do your usual updates ;)
    UpdateModel::where('model_id', $id)->update($updates);
    

    array_fill_keys documentation

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2020-10-21
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2011-01-12
      • 2013-03-24
      • 2020-11-26
      • 2021-05-29
      相关资源
      最近更新 更多