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

Php 如何将复选框数据列表更新到透视表中?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在进行一项登记预定计划 我有一个表格,其中有一个复选框列表,需要更新以反映与会者是否预订了活动 脉络 @foreach($programs as $program) <tr> @foreach( Auth::user()->attendee as $attendee ) <td> {{ Form::

我正在进行一项登记预定计划

我有一个表格,其中有一个复选框列表,需要更新以反映与会者是否预订了活动

脉络

       @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
       @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
@foreach($programs作为$program)
@foreach(Auth::user()->attendee作为$attendee)
{{
表单::复选框(
“与会者[]”,
数组($attendee->id=>$program->id),//错误:将不接受数组:(
($attendee->scheduled_programs->contains($program))
)
}}
@endforeach
//无关表数据
@endforeach

如何将attendee_id和program_id发送到我的控制器,以使用复选框更新数据透视表?

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

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

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

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

这允许我将两个索引作为数组发送。 脉络

       @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
       @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
@foreach($programs作为$program)
@foreach(Auth::user()->attendee作为$attendee)
{{
表单::复选框(
“项目预订[”.$attendee->id.][”,
$program->id
($attendee->scheduled_programs->contains($program))
)
}}
@endforeach
//无关表数据
@endforeach