Найти сущность symfony 4 по идентификатору пользователя? - PullRequest
0 голосов
/ 06 апреля 2019

Так что у меня есть связь ManyToOne между фотоальбомами и пользователем. Когда пользователь создает альбом, его user_id вставляется в таблицу альбомов.

Как мне сделать поисковый запрос в моем контроллере, который отправит поле user_id из таблицы моего альбома в мой вид веточек? Цель здесь - показать только альбомы, связанные с текущим вошедшим пользователем. (Как вы можете видеть, я в настоящее время извлекаю каждый альбом методом findAll ()).

AlbumController.php:

/**
 * @var AlbumRepository
 */
private $repository;
private $em;

/*Injection repository*/
public function __construct(AlbumRepository $repository, ObjectManager $em)
{
    $this->repository = $repository;
    $this->em = $em;
}

/**
 * @Route("/admin", name="admin.album.index")
 * @return \Symfony\Component\HttpFoundation\Response
 */
public function index()
{
    $albums = $this->repository->findAll();
    return $this->render('admin/album/index.html.twig', compact('albums'));
}

index.html.twig:

{% for album in albums %}
            <tr>
                <td>{{ album.title }}</td>
                <td>
                    <a href="{{ path('admin.album.edit', {id: album.id}) }}" class="btn btn-secondary">Editer</a>
                    <form method="POST" action="{{ path('admin.album.delete', {id: album.id}) }}"style="display: inline-block"
                          onsubmit="return confirm('Voulez-vous vraiment supprimer cet album ?')">
                        <input type="hidden" name="_method" value="DELETE">
                        <input type="hidden" name="_token" value="{{ csrf_token(('delete' ~ album.id)) }}">
                        <button class="btn btn-danger">Supprimer</button>
                    </form>
                </td>
            </tr>
        {% endfor %}

Таблица моего альбома

Моя таблица пользователей

Я действительно надеюсь, что я ясно изложил свою проблему, обратите внимание, что я начинающий разработчик, поэтому я мог что-то пропустить.

большое спасибо:)

1 Ответ

0 голосов
/ 06 апреля 2019

Полагаю, у вашего Album объекта есть свойство пользователя.

Вы можете выбрать альбом пользователя следующим образом:

$user = $this->getUser();
$albums = $this->repository->findBy([
  'user' => $user // you can pass the user id or a user object
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...