Ввод данных в веточку - PullRequest
0 голосов
/ 10 мая 2019

Я впервые прихожу, чтобы попросить о помощи. Но тут я высыхаю и нигде не могу найти ответ на свою проблему.

Я только начал работать над созданием веб-сайта под Symfony 4. Я еще не очень хорошо развит в этой среде.

В моей базе данных есть таблица: команда, которая содержит для каждого сотрудника:

-имя,

-первое имя,

-profession,

-particularité

-изображение человека.

Я могу без проблем отображать всю информацию на странице. Но что меня спрашивают:

Отображение изображения и информации о человеке на той же странице в оранжевом квадрате при нажатии на изображение, соответствующее этому человеку.

Я надеюсь, что было ясно. Я сам начинаю терять себя в голове от размышлений.

моя ошибка:
Контроллер "App \ Controller \ WhoController :: index ()" требует, чтобы вы указали значение для аргумента "$ id". Либо аргумент имеет значение NULL, и значение NULL не предоставлено, по умолчанию значение предоставлено или потому что есть необязательный аргумент после этого.

<?php

namespace App\Controller;

use App\Entity\Equipe;
use App\Repository\EquipeRepository;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;


class WhoController extends AbstractController
{
/**
* @varEquipeRepository
*/
private $repository;
/**
* @varObjectManager
*/
private $em;

public function __construct(EquipeRepository $repository, objectManager $em)
{
$this->repository = $repository;
$this->em = $em;
}
/**
* @Route("/who", name="who")
* @paramEquipeRepository $repository
*/
public function index($id, EquipeRepository $repository)
{
$equipes = $this->repository->findAllVisible();
//methode pour récupérer rapidement un enregistrement find
$equip = $this->repository->find($id);
return $this->render('pages/who.html.twig', [
'equipes' =>$equipes,
'equip' => $equip,
'controller_name' => 'WhoController',
]);
}
% extends 'base.html.twig' %}

{% block title %}Présentation{% endblock %}

{% block body %}
<div class="container-fluid">
<div class="page-header text-center">
<h2>L'équipe</h2>
</div>
<div class="space30"></div>
<div class="row">
{% for equipe in equip %}
<div class="offset-2 col-8 offset-lg-2 col-lg-8 presentation">
<div class="pres-image offset-2 col-4 offset-lg-2 col-lg-4"><img src="{{asset('build/placeholder200x250.jpg')}}"
alt="affiche un membre de l'équipe" class="img-fluid"></div>
<div class="contenu offset-1 col-4 offset-lg-1 col-lg-4">
<p class="pres-nom">Nom: {{ equip.nom }}</p>
<p class="pres-prenom">Prenom:{{ equip.prenom }}</p>
<p class="pres-profession">Profession:{{ equip.profession }}</p>
<p class="pres-custom">Particularité: {{ equip.custom }}</p>
</div>
</div>
{% endfor %}
</div>
<div class="row">
{% for equipe in equipes %}
<div class="col-4 col-lg-3">
<div class="card-body text-center">
{% if equipe.imageName %}
<a href="{{ path('show',{ id:equipe.id }) }}">
<img src="{{ vich_uploader_asset(equipe, 'imageFile')| imagine_filter('avatar') }}" alt="card-img-top" class="img-fluid"></a>
{% endif %}
<div class="card-footer text-center">
<h5>{{ equipe.nom }}</h5>
<h5>{{ equipe.prenom }}</h5>
</div>
</div>

</div>
{% endfor %}

</div>
{{ include ('pages/_footer.html.twig') }}
</div>
{% endblock %}

1 Ответ

2 голосов
/ 10 мая 2019

На вашем маршруте: @Route ("/ who", name = "who") <- у вас нет переменной id. </p>

Для вас вам нужен @Route ("/ who / {id} ", name =" who ") (Спасибо Cid )

...