如何将复选框数据列表更新到数据透视表中?

时间:2014-12-01 18:12:36

标签: php laravel laravel-4

我正在进行注册预订计划。

我有一个表单,其中包含需要更新的复选框列表,以反映是否为某个活动预订了与会者。

教职员

       @foreach($programs as $program)
            <tr>
            @foreach( Auth::user()->attendee as $attendee )
                <td>
                {{
                    Form::checkbox(
                        'attendee[]',
                        array($attendee->id=>$program->id), //ERROR: will not accept array :(
                        ($attendee->scheduled_programs->contains($program))
                    )
                }}
                </td>
            @endforeach
            //irrelevant table data
       @endforeach

如何将attendee_id和program_id发送到我的控制器以更新数据透视表?

3 个答案:

答案 0 :(得分:1)

这允许我将两个索引作为数组发送。 的教职员

       @foreach($programs as $program)
            <tr>
            @foreach( Auth::user()->attendee as $attendee )
                <td>
                {{
                    Form::checkbox(
                        'prog_booking['. $attendee->id .'][]',
                        $program->id
                        ($attendee->scheduled_programs->contains($program))
                    )
                }}
                </td>
            @endforeach
            //irrelevant table data
       @endforeach

答案 1 :(得分:0)

使用复选框,您必须检查该值是否存在。如果是,则表示选中了复选框。

$chk = Input::has('name.0.name');

答案 2 :(得分:0)

您可以通过向attach函数添加第二个参数来添加额外数据。你需要:

$attendee->program()->attach($attendee, array('program_id', $program_id);