MD Iyasin Arafat
MD Iyasin Arafat

Reputation: 763

How to print two array in one foreach loop in Laravel

I'm print this two array in this forech loop. if i select last checkbox item after submit it will check first item didn't checked last item. that is my problem.

Here is my code example image Here is my code example image

Problem problem

I'm also try other question answer but didn't work for me.

  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?

Thanks in advance.

Upvotes: 0

Views: 3182

Answers (3)

MD Iyasin Arafat
MD Iyasin Arafat

Reputation: 763

I'm solved my problem using two php array function.

  1. array_column
  2. in_array

Here is my solved code:

    @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

Screenshot:

enter image description here

Upvotes: 1

r4ccoon
r4ccoon

Reputation: 3136

ok, you can see that all radio buttons are checked. you need to have better check. use this check, please fix the syntax according to the blade syntax. but basically you are comparing group_id in $qids with id in $data.

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

Upvotes: 0

MD Iyasin Arafat
MD Iyasin Arafat

Reputation: 763

My blade code:

@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

This is print_r code:

Illuminate\Database\Eloquent\Collection Object

( [items:protected] => Array ( [0] => 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] => 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] => 
            )

    )

)

rendered html code:

    <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>

Upvotes: 0

Related Questions