Laravel 如何在一个 foreach 循环中打印两个数组

How to print two array in one foreach loop in Laravel

我在这个 forech 循环中打印这两个数组。如果我 select 提交后的最后一个复选框项目,它将检查第一个项目,而不是检查最后一个项目。那是我的问题。

这是我的代码示例图片

问题

我也在尝试其他问题的答案,但对我不起作用。

  1. How to use multiple arrays in " single " foreach() loop

  2. Two arrays in foreach loop

  3. How to display two arrays in one foreach loop?

提前致谢。

我的blade代码:

@elseif(isset($groupsData) && !$groupsData->isEmpty() or isset($qids) && !$qids->isEmpty())
<?php $i = 0; ?>
@foreach($groupsData as $key => $data)
    <?php $i++; ?>
    <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="{{ $data->id }}" class="check_checkbox" @if(isset($qids[$key]->group_id)) {{ 'checked' }} @endif ></label></td>
        <td>{{ $i }}</td>
        <td>{{ $data->group_name }}</td>
    </tr>
@endforeach @else

这是print_r代码:

Illuminate\Database\Eloquent\Collection Object

( [items:protected] => 数组 ( [0] => App\QuizGroupQuestionId Object ( [fillable:protected] => 数组 ( [0] => quiz_id [1] => group_id [2] => question_id )

                [dates:protected] => Array
                    (
                        [0] => deleted_at
                    )

                [connection:protected] => mysql
                [table:protected] => 
                [primaryKey:protected] => id
                [keyType:protected] => int
                [incrementing] => 1
                [with:protected] => Array
                    (
                    )

                [withCount:protected] => Array
                    (
                    )

                [perPage:protected] => 15
                [exists] => 1
                [wasRecentlyCreated] => 
                [attributes:protected] => Array
                    (
                        [id] => 12
                        [quiz_id] => 1
                        [group_id] => 8
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [original:protected] => Array
                    (
                        [id] => 12
                        [quiz_id] => 1
                        [group_id] => 8
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [casts:protected] => Array
                    (
                    )

                [dateFormat:protected] => 
                [appends:protected] => Array
                    (
                    )

                [events:protected] => Array
                    (
                    )

                [observables:protected] => Array
                    (
                    )

                [relations:protected] => Array
                    (
                    )

                [touches:protected] => Array
                    (
                    )

                [timestamps] => 1
                [hidden:protected] => Array
                    (
                    )

                [visible:protected] => Array
                    (
                    )

                [guarded:protected] => Array
                    (
                        [0] => *
                    )

                [forceDeleting:protected] => 
            )

        [1] => App\QuizGroupQuestionId Object
            (
                [fillable:protected] => Array
                    (
                        [0] => quiz_id
                        [1] => group_id
                        [2] => question_id
                    )

                [dates:protected] => Array
                    (
                        [0] => deleted_at
                    )

                [connection:protected] => mysql
                [table:protected] => 
                [primaryKey:protected] => id
                [keyType:protected] => int
                [incrementing] => 1
                [with:protected] => Array
                    (
                    )

                [withCount:protected] => Array
                    (
                    )

                [perPage:protected] => 15
                [exists] => 1
                [wasRecentlyCreated] => 
                [attributes:protected] => Array
                    (
                        [id] => 13
                        [quiz_id] => 1
                        [group_id] => 9
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [original:protected] => Array
                    (
                        [id] => 13
                        [quiz_id] => 1
                        [group_id] => 9
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [casts:protected] => Array
                    (
                    )

                [dateFormat:protected] => 
                [appends:protected] => Array
                    (
                    )

                [events:protected] => Array
                    (
                    )

                [observables:protected] => Array
                    (
                    )

                [relations:protected] => Array
                    (
                    )

                [touches:protected] => Array
                    (
                    )

                [timestamps] => 1
                [hidden:protected] => Array
                    (
                    )

                [visible:protected] => Array
                    (
                    )

                [guarded:protected] => Array
                    (
                        [0] => *
                    )

                [forceDeleting:protected] => 
            )

        [2] => App\QuizGroupQuestionId Object
            (
                [fillable:protected] => Array
                    (
                        [0] => quiz_id
                        [1] => group_id
                        [2] => question_id
                    )

                [dates:protected] => Array
                    (
                        [0] => deleted_at
                    )

                [connection:protected] => mysql
                [table:protected] => 
                [primaryKey:protected] => id
                [keyType:protected] => int
                [incrementing] => 1
                [with:protected] => Array
                    (
                    )

                [withCount:protected] => Array
                    (
                    )

                [perPage:protected] => 15
                [exists] => 1
                [wasRecentlyCreated] => 
                [attributes:protected] => Array
                    (
                        [id] => 14
                        [quiz_id] => 1
                        [group_id] => 10
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [original:protected] => Array
                    (
                        [id] => 14
                        [quiz_id] => 1
                        [group_id] => 10
                        [question_id] => 
                        [created_at] => 2017-07-22 18:56:54
                        [updated_at] => 2017-07-22 18:56:54
                        [deleted_at] => 
                    )

                [casts:protected] => Array
                    (
                    )

                [dateFormat:protected] => 
                [appends:protected] => Array
                    (
                    )

                [events:protected] => Array
                    (
                    )

                [observables:protected] => Array
                    (
                    )

                [relations:protected] => Array
                    (
                    )

                [touches:protected] => Array
                    (
                    )

                [timestamps] => 1
                [hidden:protected] => Array
                    (
                    )

                [visible:protected] => Array
                    (
                    )

                [guarded:protected] => Array
                    (
                        [0] => *
                    )

                [forceDeleting:protected] => 
            )

    )

)

呈现 html 代码:

    <table class="table table-striped table-bordered table-hover table-responsive">
<thead>
<tr>
<th><label><input name="group_all" class="checked_all" type="checkbox"> Select All</label></th>
<th>#</th>
<th>Group Name</th>
</tr>
</thead>
<tbody> 
    <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="4" class="check_checkbox"  checked  ></label></td>
        <td>1</td>
        <td>jkl</td>
    </tr>
                                                                                <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="5" class="check_checkbox"  checked  ></label></td>
        <td>2</td>
        <td>mno</td>
    </tr>
                                                                                <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="7" class="check_checkbox"  checked  ></label></td>
        <td>3</td>
        <td>rthytr4y</td>
    </tr>
                                                                                <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="8" class="check_checkbox"  ></label></td>
        <td>4</td>
        <td>erter</td>
    </tr>
                                                                                <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="9" class="check_checkbox"  ></label></td>
        <td>5</td>
        <td>wetret</td>
    </tr>
                                                                                <tr>
        <td><label><input type="checkbox" name="groups_id[]" value="10" class="check_checkbox"  ></label></td>
        <td>6</td>
        <td>yhjjyukji</td>
    </tr>
    </tbody>
</table>

ok,可以看到所有单选按钮都被勾选了。你需要有更好的检查。使用此检查,请根据 blade 语法修复语法。但基本上你是在比较 $qids 中的 group_id 和 $data.

中的 id
@if(isset($qids[$key]->group_id) && $qids[$key]->group_id == $data->$id ) {{ 'checked' }} @endif

我使用两个 php 数组函数解决了我的问题。

  1. array_column
  2. in_array

这是我解决的代码:

    @elseif(isset($groupsData) && !$groupsData->isEmpty() or isset($qids) && !$qids->isEmpty())
    <?php
        $i = 0;
        $gids = array_column($qids->toArray(),'group_id');
    ?>
    @foreach($groupsData as $key => $data)
        <?php $i++;  ?>
        <tr>
            <td><label>
            <input type="checkbox" name="groups_id[]" value="{{ $data->id }}" class="check_checkbox" @if(in_array($data->id,$gids)) {{ 'checked' }} @endif >
            </label></td>
            <td>{{ $i }}</td>
            <td>{{ $data->group_name }}</td>
        </tr>
    @endforeach
@else

截图: