J'ai lu quelques documentations sur les ORM & Symfony, mais les Anglais ne sont pas ma langue maternelle et peut-être me manque quelque chose :) Je vais juste faire une jointure entre réservation & spectacles Je cette erreur:problème avec entité relation
[Semantical Error] line 0, col 70 near 'r WHERE a.id': Error: Class AppBundle\Entity\Reservation has no association named Reservation
Mes entités
class Reservation
{
/**
* @ORM\ManytoOne (targetEntity="AppBundle\Entity\Spectacles", inversedBy="id")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
private $spectacle;
}
class Spectacles
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Reservation", mappedBy="spectacle")
*
*/
private $id;
}
Mon dépôt
class ReservationRepository extends \Doctrine\ORM\EntityRepository
{
public function FindHowMunchRemains($id)
{
return $this->createQueryBuilder('a')
->join('a.Reservation','r')
->where('a.id=:id')
->setParameter('id',$id)
->getQuery()
->getResult();
}
}
EDIT:
Je suis perdu avec ORM, (je pense que c'est mon gros problème avec symfony ... J'essaie de lire doc mais rien il est clair qu'il est peut-être pas ma langue maternelle.
Je veux créer ce schéma pourriez-vous m'aider avec le résultat du code source uniquement sur la clé?
Voir schéma ici sous
Pouvez-vous ajouter à la question que voulez-vous accomplir? – Akkusativobjekt
Il semble que vous joigniez 'Reservation' (en faisant' -> join ('a.Reservation', 'r') ') à' Reservation' (comme 'ReservationRepository'). Vous pouvez soit rejoindre 'a.spectacle' ou faire quelque chose comme' a.reservation' mais dans 'SpectacleRepository', selon ce que vous essayez de faire. –
Merci Jakub, j'essaie avec Spectacle Repository (c'est logique) mais j'ai une erreur comme l'erreur précédente. [Erreur sémantique] ligne 0, col 69 près de 'r WHERE a.id': Erreur: La classe AppBundle \ Entity \ Spectacles n'a pas d'association nommée Reservation @Akkusativobjekt J'essaye simplement de faire une jointure pour comprendre –