Поиск выбранных значений в Twig и PHP - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть этот массив в php:

Array
(
    [pageHeader] => Array
        (

            [pageValue] => Array
                (


                    [attractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [tourist_attractions_id] => 4
                                    [enable] => 1
                                    [name_pl] => atrackja 2
                                )

                            [1] => Array
                                (
                                    [tourist_attractions_id] => 1
                                    [enable] => 1
                                    [name_pl] => nazwa pl1
                                )

                        )

                    [selectedAttractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [related_id] => 4
                                )

                        )

                )

        )

и мой файл ветки:

{% for attractions in pageTemplate.pageHeader.pageValue.attractionsArray %}
   <fieldset class="checkboxsas">
                                            <label>
                                                <input type="checkbox" value="{{ attractions.tourist_attractions_id }}" {% if attractions.tourist_attractions_id in selectedAttractionsArray %} checked {% endif %}> {{ attractions.name_pl }}
                                            </label>
                                        </fieldset>
                                    {% endfor %}

Я хотел бы установить флажок, чтобы проверить записи, которые: landmarkArray.tourist_attractions_id == selectedAttractionsArray.related_id

Как это сделать?

ОБНОВЛЕНО Мой фактический массив php:

[attractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [tourist_attractions_id] => 4
                                    [enable] => 1
                                    [name_pl] => atrackja 2
                                )

                            [1] => Array
                                (
                                    [tourist_attractions_id] => 1
                                    [enable] => 1
                                    [name_pl] => nazwa pl1
                                )

                        )

                    [selectedAttractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [related_id] => 4
                                )

                            [1] => Array
                                (
                                    [related_id] => 1
                                )

                        )

У меня есть 2 значения в selectedAttractionsArray и 2 в AttraArray. landmarkArray - в этом массиве есть все доступные достопримечательности в базе данных

selectedAttractionsArray - в этом массиве есть только избранные элементы

1 Ответ

0 голосов
/ 05 ноября 2018

Вам нужно будет изменить свой массив PHP непосредственно перед передачей его в представление, например, если ваша переменная массива называется $data:

$data['pageHeader']['pageValue']['selectedAttractionsArray'] = array_map('current', $data['pageHeader']['pageValue']['selectedAttractionsArray']);

Вы можете проверить текущую и карту документацию по функциям, чтобы немного понять код.

Также внесите небольшое изменение в веточку:

{% if attractions.tourist_attractions_id in pageTemplate.pageHeader.pageValue.selectedAttractionsArray %} checked {% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...