나는 3 개 테이블을하고 난 다음과 같이 서로 연결입니다 YAML을 사용심포니를 조인이
교육 :
oneToMany:
exerciseTrainings:
targetEntity: ExerciseTraining
mappedBy: training
cascade: ["persist", "merge"]
joinColumn:
name: id
referencedColumnName: training_id
연습 :
oneToMany:
exerciseTrainings:
targetEntity: ExerciseTraining
mappedBy: exercise
cascade: ["persist", "merge"]
joinColumn:
name: id
referencedColumnName: exercise_id
trainingExercises :
를manyToOne:
exercise:
targetEntity: Exercise
inversedBy: exerciseTrainings
joinColumn:
name: exercise_id
referencedColumnName: id
training:
targetEntity: Training
inversedBy: exerciseTrainings
joinColumn:
name: training_id
referencedColumnName: id
내 운동과 관련된 테이블 Exercises (기본적으로 exercise_translation에서 오는 이름이지만 이름은 문제가 아님)의 "exercise name"이 필요하며 exerciseTrainings 테이블에서 "세트"가 필요합니다. 그래서 나는 훈련을하고 테이블에 가입하려고 :
$training = $em->getRepository('TrenkaTrainingBundle:Training')->findOneByAlias($alias);
$exercises = $em
->getRepository('TrenkaTrainingBundle:Exercise')
->createQueryBuilder('e')
->innerJoin('e.exerciseTrainings', 't')
->where('t.training_id = ' . $training->getId())
->getQuery()
->getResult();
을하지만이 오류 얻을 :
Class TrainingBundle\Entity\ExerciseTraining has no field or association named training_id
어쩌면 누군가가이 같은 구조를하고 일을 만드는 방법을 알고? TWIG에서 2-3 표의 값을 제시하는 방법은 무엇입니까? 당신이 당신의 ExerciseTraining 엔티티에, 당신의 where 절에서 사용할 수 없도록
감사하지만 오류에 도달 : 문자열의 예상 끝, – Stopper
''있어 와우! 고마워요. 나뭇 가지에서 이름을 얻는다. {%} 운동에서 % {{운동. 이름}} 그러나 운동에서 세트를 얻는 방법은 나뭇 가지에서 훈련? – Stopper
'{{운동. exerciseTrainings}}'? – Shady