Laravel更新数据库中的键和值

时间:2019-06-16 12:31:38

标签: php laravel eloquent laravel-query-builder

我在db中有键和值列,如何从控制器更新它们?

如何通过密钥更新

$settings = \App\Setting::where('type','synrisk')->get();
$settings->fill($request->all());
$settings->save();
Session::flash('message', 'تم التعديل بنجاح');
return redirect()->route('about_us_admin');

我的表单回复

 _token: "zLiFs10lNkuIZxu2DPyPwetsA3HCaNlgLb9L1w45",
 full_name: "Mazen",
 email: "mazen@aramex.com",

我的数据库

 {
    id: 4,
    key: "phone_number_1",
    value: "07777777",
    type: "Aramex",
    created_at: "2019-06-16 12:48:43",
    updated_at: "2019-06-16 12:48:43"
    },
    {
    id: 5,
    key: "phone_number_2",
    value: "07777777",
    type: "Aramex",
    created_at: "2019-06-16 12:48:43",
    updated_at: "2019-06-16 12:48:43"
    },
 }

1 个答案:

答案 0 :(得分:0)

好吧,如果您做类似的事情,

  $fullName = request()->only('full_name')

    $fullNameKeyValue = [
      'key' => array_key_first($fullName),
      'value' => array_key_first(array_flip($fullName))
    ];


    // You can extract this logic to a function and have checks in place as well
    // like is_array() and array_key_exists() . 

    $settings->fill($fullNameKeyValue);
    $settings->save();