首页 > 解决方案 > 如何保存和更新多行

问题描述

我正在尝试将一些用户设置保存在数据库中。
设置由复选框表示。

<td>
    {{$user->bitrixId}}<input type="hidden" name="bitrixId[]" value="{{$user->bitrixId}}">
</td> 

<input type="checkbox" class="input-group" name="commercial[]" Value="0"> 
<input type="checkbox" class="input-group" name="domestic[]" Value= "0">  

应该存储设置的控制器方法:

public function store(Request $request)
{
    $bitrixIds[] = $request->bitrixId;
    $commercial = [];
    $domestic = [];
    $agent_Type = new AgentTypes($request->all());

    foreach ($bitrixIds as $bt) {
        $ag = new AgentTypes();
        $ag->bitrixId = $bt;
        $ag->commercial = json_encode($agent_Type->commercial);
        $ag->domestic = json_encode($agent_Type->domestic);
        $ag->save();
    }
}

标签: phplaravel

解决方案


如果您想在刀片中有多个具有同一个名称的项目:

<input type="text" name="commercials[1][name]"  class="form-control m-input">


<input type="text" name="commercials[2][name]"  class="form-control m-input">

<input type="text" name="commercials[3][name]"  class="form-control m-input">


<input type="text" name="commercials[1][family]"  class="form-control m-input">

您可以为 number1 2 3++每个定义一个变量。

现在在您的控制器中,您可以使用此变量:

$commercials= $request->get("commercials");

 if (isset($commercials) && $commercials!= [])
        {
 foreach ($commercials $perCommercial)
            {
                commercialas::create([
                    "name"      => $perCommercial["name"],
                    "family"  => $perCommercial["family"]
                ]);
            }

}

推荐阅读