Как добавить флажки в результат запроса в Symfony - PullRequest
0 голосов
/ 04 мая 2019

Как правильно установить флажки для каждого объекта запроса. Когда пользователь нажимает кнопку, служба электронной почты будет обрабатывать только группу выбранных объектов.

Вот мой AdvancedSearchController

public function advancedSearch(Request $request, ContactRepository $contactRepository): Response
{
    $advancedSearchForm = $this->createForm(AdvancedSearchType::class, new AdvancedSearch());

    $advancedSearchForm->handleRequest($request);

    if ($advancedSearchForm->isSubmitted() && $advancedSearchForm->isValid()) {

        $this->searchCriterion = $advancedSearchForm->getData();

        $this->results = $contactRepository->retrieveAllData($this->searchCriterion);

        $this->redirectToRoute('advanced_search', [
            'advancedSearchForm' => $advancedSearchForm->createView(),
            'advancedSearchResults' => $this->results
        ]);
    }
    return $this->render('advanced_search/advanced_search.html.twig', [
        'advancedSearchForm' => $advancedSearchForm->createView(),
        'advancedSearchResults' => $this->results,
    ]);
}

Вот мой очень упрощенный репозиторий:

public function retrieveAllData(AdvancedSearch $advancedSearch)
{
    $searchCriterias = $advancedSearch->getSearchCriteria();
    $totalCount = \count($searchCriterias);

    $terms = ['term1', 'term2',etc...];

    $query = $this->createQueryBuilder('c');

    for ($i = 0; $i < $totalCount; $i++) {

        $entity = $searchCriterias[$i]->getEntity();
        $field = $searchCriterias[$i]->getField();
        $term = $searchCriterias[$i]->getTerm();

//Here some if/elseif/else statements constructing the query following different conditions

        $query
                ->andWhere("c.$field LIKE :$terms[$i]")
                ->setParameter($terms[$i], '%' . $term . '%');
    }
    return $query->getQuery()->getResult();
}

И шаблон веточки:

//included
<table class="table table-striped- table-bordered table-hover table-checkable" id="m_table_1">
        <thead>

        <tr>
            <th>#</th>
            <th>Nom</th>
            <th>Prénom</th>
            <th>Email</th>
            <th>Téléphone</th>
        </tr>
        </thead>
        <tbody>
        {% for contact in advancedSearchResults %}

            <tr class="selection">
                <td>//I'd like this checkbox to work
                    <input type="checkbox" title="selection">
                </td>
                <td>
                    <a href="{{ path('show_contact',{'id': contact.id }) }}">
                        {{ contact.name|upper }}
                    </a>
                </td>
                <td>{{ contact.firstName }}</td>
                <td class="selectedEmail">{{ contact.emailContact }}</td>
                <td>{{ contact.telPortable }}</td>


            </tr>
        {% endfor %}
        </tbody>
    </table>

Как сделать так, чтобы флажок (в шаблоне ветки) работал как флажок формы для извлечения выбранных объектов в строке? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...