Symfony 4 оставил присоединиться к хранилищу - PullRequest
0 голосов
/ 16 октября 2018

Я новичок в сообществе Symfony, и у меня есть к вам вопрос!

У меня есть 3 сущности:

Homework с id, title, description

Student с id, name

Note с id, note, homework_id, student_id

Inмой вид ветки, я хочу отобразить всю домашнюю работу (порядок за заголовком) и для каждой из них показать заметку для студента X (X является аргументом контроллера).

Я пытаюсь сделать leftjoin в Заметке, чтобы иметьвся домашняя работа, даже та, для которой у него нет записи на bd.

Какой лучший способ сделать что-то подобное?

akro

Больше информации

  • Я пробую это, но мне нужно дважды использовать foreach в представлении ветки, я имею в виду, что есть лучшее решение

    $ homeworksRepo = $ manager-> getRepository(Homework :: class);
    $ homeworks = $ homeworksRepo -> findByAll ();

    $ notesRepo = $ manager-> getRepository (Note :: class);
    $ notes = $ notesRepo-> findByStudent ($ student);

    вернуть $ this-> render ('vew.html.twig', ['homeworks' => $ homeworks, 'notes' => $ notes,]);

  • Я пытаюсь использовать queryBuilder, ноя получаю только домашнее задание с пометкой в ​​результате.

  • Я пытаюсь с queryBuilder и левое соединение, в результате получить что-то вроде этого

    $ res [0]=> Объект домашней работы 1
    $ res [1] => Объект заметки 1
    $ res [2] => Объект домашней работы 2
    $ res [3] => Нуль
    $ res [4]=> Объект домашней работы 3
    $ res [5] => Объект примечания 2
    $ res [6] => Объект домашней работы 4 $ res [7] => Null

    $ qb = $ manager-> getRepository (Homework :: class) -> createQueryBuilder ('h');

    $ qb-> leftJoin (Note :: class, 'n', 'WITH', 'n.homework = h.id ')

    -> select ([' h ',' n ']);

    dump ($ qb-> getQuery () -> getResult ());

хотелось бы получить

$res[0] => [Homework object1, Note object 1]
$res[1] => [Homework object2, NULL]
$res[2] => [Homework object3, Note object 2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...