shuba.ivan
shuba.ivan

Reputation: 4061

Symfony send array for action

I have template where I have array for entity developers and I need send this array for action, how can do this this action

{% for developer in developers %}
{{ developer.id }}
{% endfor %}
<a href="{{ path('admin_project_send_email', { 'id': entity.id }) }}">send</a>

how send array developers for this action admin_project_send_email

 /**
 * Send email for Developers.
 *
 * @Route("/{id}/send", name="admin_project_send_email")
 * @Method({"GET", "POST"})
 * @Template()
 * @ParamConverter("entity", class="ArtelProfileBundle:Project")
 */
public function sendAction($entity, Request $request)
{
    $value = $request->getSession()->get('developer');
    return array(
        'developers' => $value,
    );
}

I try set in session but if get session variable I have last developer - not array. How can do this with not ajax??

Upvotes: 1

Views: 473

Answers (1)

Frank B
Frank B

Reputation: 3697

Best practice is to make a form with a collection type which post an array of entity id's. See the docs

And with sessions it could work too. First you have to create an array of id's (and not whole objects)

$ids = array();

foreach($developers as $developer)
{
    $ids[] = $developer->getId();
}

$request->getSession()->set('ids', $ids);

Upvotes: 1

Related Questions