Как обращаться с foreach внутри foreach? - PullRequest
0 голосов
/ 26 февраля 2020

Мне нужно следовать концепции «DRY», поэтому в моем коде много повторений. решил сделать его коротким, как я могу!

Дизайн, который мне нужен, чтобы достичь: enter image description here

мой затвор:

   @php
        $names = [
            'main','settings', 'admins','roles'
        ];
        $values = [
            'main_page','setting','admin','role'
        ];
    @endphp

    @foreach ($names as $name)
        <main class="role_me">
                -- {{ $name }}
            <div class="roles">
                @foreach ($values as $value)
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_read">Read</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_create">Create</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_update">Update</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_delete">Delete</label>
                @endforeach
            </div>
        </main>
    @endforeach

Вывод моего кода:

enter image description here

1 Ответ

2 голосов
/ 26 февраля 2020

Здесь нам нужны два цикла для отображения этих меню и их подменю. Попробуйте это

$action = ["Edit", "Read", "Delete", "Add"];

$categories = ["Menu", "Roles", "Users"];

for($i = 0; $i < count($categories); $i++) {
    echo $categories[$i]. "<br>";
    for($j = 0; $j < count($action); $j++) {
       echo $categories[$i]. " " .$action[$j] . "<br>";
    }
}

Вывод, как это.

Menu
Menu Edit
Menu Read
Menu Delete
Menu Add
Roles
Roles Edit
Roles Read
Roles Delete
Roles Add
Users
Users Edit
Users Read
Users Delete
Users Add
...