Ich habe eine Select-Abfrage und ich versuche, eine Verknüpfung hinzuzufügen.Wie wird ein Join für zwei Entitäten in Symfony und Doctrine durchgeführt?
Im Beispiel unten, ich habe eine Question
Einheit, die ich verwende, um einige Ergebnisse zurück, und ich mag mit der User
Einheit eine Verknüpfung zu verwenden, wie:
SELECT question FROM question AS q LEFT JOIN USER u ON q.user_id= u.id;
ich das Ergebnis möchte um eine User
Einheit innerhalb einer Question
Einheit, so etwas wie:
private Question (entity)
private id
private user_id
private User (entity)
private id
private name
hier ist meine Klasse
namespace AppBundle\Repository;
use AppBundle\Entity\User;
use AppBundle\Entity\Question;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Tools\Pagination\Paginator;
class QuestionRepository extends EntityRepository
{
/**
* @param int $currentPage
*
* @return Paginator
*/
public function getQuestions($currentPage = 1)
{
$questions = $this->createQueryBuilder('question')
->where('question.active is NULL')
->getQuery();
$paginator = $this->paginate($questions, $currentPage);
return $paginator;
}
}
Ich nenne es wie dieses
$questionRepo = $this->container->get('doctrine')->getManager()->getRepository('AppBundle:Question');
$questions = $questionRepo->getQuestions(1);
Irgendwelche Ideen?
Ich bekomme '[Semantische Fehler] in der Nähe von 'Frage_Benutzer': Fehler: Klasse AppBundle \ Entität \ Frage hat keine Assoziation namens Benutzer' – Patrioticcow
Ich denke, ich muss der' Frage'-Entität, die ich eine 'User' Entität haben – Patrioticcow