使用具有动态表单输入的foreach循环更新数据透视表

时间:2016-10-14 06:53:29

标签: arrays laravel dynamic foreach pivot-table

请查看此图片,您将了解我需要的内容LINK 我想插入许多航班到一个运输,但我想选择人员运输和航班一切正常 但是对于航班的详细信息,如果我在第一次航班中选择两个人,在我的枢轴表中第二次飞行中的两个人,其在两个航班中都有超过4个人的名字。检查此link

我希望插入人员名称separte像第一个航班deatils两个人和第二个航班细节两个人 所以这是我的控制器

Sub insert_column_after_interval_1()
' Function to insert a column every second column starting from 1.


Dim iLastCol As Integer
    iLastCol = Cells(1, Columns.Count).End(xlToLeft).Column ' same as CTRL+RIGHT ARROW

    For colx = 1 To iLastCol Step 2

        Columns(colx).Insert Shift:=xlToRight

    Next

End Sub
我怎么能?如果不清楚你需要帮助我什么? 编辑: 我的表格就是这样我使用VueJs添加动态飞行表格

$data = array();
        $origin = $request->get('origin');
        $destination = $request->get('destination');
        $flight_no = $request->flight_no;
        $dep_date = $request->dep_date;
        $arrival_date = $request->arrival_date;
        foreach ($origin as $key => $value){
            $data[] = [
                'transport_id' => $new->id,
                'origin' => $value,
                'destination' =>$destination[$key],
                'flight_no' =>$flight_no[$key],
                'dep_date' =>Carbon::parse($dep_date[$key])->format('Y-m-d h:i'),
                'arrival_date'=> Carbon::parse($arrival_date[$key])->format('Y-m-d h:i'),
                'user_id'=> Auth::id()
            ];
        }

        foreach($data as $d){
            $flight = Flight::create($d);
            $flight->crews()->attach($request->input('flight_crew_list'));
        }

1 个答案:

答案 0 :(得分:0)

目前还不清楚输入表单是如何制作的以及输入中的确切位置('flight_crew_list')。

我的猜测是输入('flight_crew_list')包含在整个表格中选择的所有船员成员ID,这解释了为什么你为一次飞行分配了所有4名船员。

如果您想了解更多详情,请在第一张图片中发布您附上的表格的源代码。

upd:

我怀疑问题出现在这里:

 WebDriverWait wait = new WebDriverWait(driver, 20);        wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.className('js-password-field'))));
        driver.findElement(By.className('js-password-field')).sendKeys('my pwd'); 

您正在生成唯一数组flight_crew_list,其中包含表单中检查的所有元素。然而,您需要的是每个航班都有一系列经过检查的船员:

{!! Form::checkbox('flight_crew_list[]', $key) !!}

因此,在后端之后,您只能附加为此特定航班检查的值。

{!! Form::checkbox('flight_crew_list[' . $row_id ']', $key) !!}