【问题标题】:i write the below code , how can i cleaning it? can any one help me to write it better?我写了下面的代码,我该如何清理它?谁能帮我写得更好?
【发布时间】:2021-06-01 05:23:03
【问题描述】:

我在 laravel 中写了这段代码,谁能帮我写得更好?

 Setting::where('key' , 'online_course')->update(['value' => $request->get('online_course') ]);
    Setting::where('key' , 'read_item')->update(['value' => $request->get('read_item') ]);
    Setting::where('key' , 'comment_item')->update(['value' => $request->get('comment_item') ]);
    Setting::where('key' , 'rate_item')->update(['value' => $request->get('rate_item') ]);

【问题讨论】:

    标签: php laravel code-cleanup


    【解决方案1】:

    一种可能的解决方案是使用foreach 循环从$request 对象中拉出keysvalues

    foreach ($request->only('online_course', 'read_item', 'comment_item', 'rate_item') as $key => $value) {
        Setting::where('key', $key)->update(['value', $value]);
    }
    

    可以使用$request->all()$request 对象中获取所有keys 以进一步缩短它,但如果您要这样做,请确保您有足够的估值和安全防护到位(例如批量分配),以免您意外使用一些不需要的$request 数据。

    【讨论】:

      【解决方案2】:

      根据你的想法我写了这段代码

      foreach ($request->except('_token' , '_method') as $key => $value){
              Setting::where('key' , $key)->update(['value' => $value]);
          }
      

      但是这段代码可以正常工作

       foreach ($request->all() as $key => $value){
              Setting::where('key' , $key)->update(['value' => $value]);
          }
      

      【讨论】:

      • 我的建议是什么?
      猜你喜欢
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 2023-03-29
      • 2020-10-29
      • 2017-07-12
      相关资源
      最近更新 更多