0
Hallo, ich habe ein logisches Problem in meiner Abfrage Builder-Anfrage, ich muss alle Projektelemente durch Benutzer-ID erhalten, aber wenn das Projekt öffentlich ist (Sichtbarkeit öffentlich) erhalten wir alle Elemente . Es ist einfach, aber die Abfrage gibt nicht alle Projekte zurück.Doktrinabfrage-Generator nicht zurück richtig Antwort beitreten mit Bedingung
Hier ist mein Repository Code
public function getAllIdsByUserIdAndProjectIdQueryBuilder($id_user, $id_project)
{
$qb = $this->createQueryBuilder('element')
->select('element.id')
->innerJoin('element.project', 'project','with','project.visibility=:visibility')
->innerJoin('project.usersShared', 'user')
->andWhere('project.id = :id_project')
->andWhere('user.id = :id_user')
->setParameter(':id_user', $id_user)
->setParameter(':id_project', $id_project);
->setParameter(':visibility', 'PUBLIC');
return $qb;
}
Versuchen Sie, auf die rohen SQL-Abfrage zu denken, dass Sie für diese schreiben würde. Würden Sie Ihre Abfrage aus der Elementtabelle starten, um alle Projekte zu erhalten? – hasumedic
ja es ist das Element Repository, weil ich die Elemente nicht die Projekte bekommen muss, (ein Projekt haben viele Elemente) – Rim
Dann denke ich, ich habe nicht ganz die Frage bekommen. Sie sagen, dass Sie alle Projekte zurück erwarten, aber Sie filtern nach ihnen, so dass Sie nur die Elemente eines Projekts mit öffentlicher Sichtbarkeit erhalten. – hasumedic