У меня есть две таблицы (тест и вопрос) и средняя таблица (нм). В этом пункте все работает отлично. Но теперь мне нужно добавить дополнительную информацию в таблицу (nm), порядок этого вопроса в этом тесте
Мне нужно это:
id | test_id | question_id | order 1 | 1 | 1 | 3 2 | 1 | 2 | 2 3 | 1 | 3 | 1 4 | 1 | 4 | 4
Все эти отношения сделаны с аннотацией доктрины …
Объект тестирования
/** * @ORM\ManyToMany(targetEntity="Question", inversedBy="tests") */ private $questions;
Суть вопроса
/** * @ORM\ManyToMany(targetEntity="Test", mappedBy="questions")) */ private $tests;
Любая помощь будет оценена
РЕДАКТИРОВАТЬ
Привет еще раз! Большое спасибо @DonCallisto
мои сущности в конце:
Контрольная работа
/** * @ORM\OneToMany(targetEntity="RTestQuestion", mappedBy="question") */ private $questions;
Вопрос
/** * @ORM\OneToMany(targetEntity="RTestQuestion", mappedBy="test")) */ private $tests;
Мой новый объект «RTestQuestion»
/** * ET\BackendBundle\Entity\RTestQuestion * * @ORM\Table(name="rtest_question") * @ORM\Entity */ class RTestQuestion { /** * @var integer $id * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\ManyToOne(targetEntity="Question", inversedBy="questions", cascade={"persist", "remove"}) */ private $question; /** * @ORM\ManyToOne(targetEntity="Test", inversedBy="tests", cascade={"persist", "remove"}) */ private $test; /** * @var integer $order * * @ORM\Column(name="question_order", type="integer", nullable=true) */ private $question_order;
Мне пришлось сделать два изменения:
Свойствам необходимо, чтобы каскад сохранялся и удалял действия (доктрина консоли показывает ошибки без этого)
И слово «порядок» ограничено для mysql, а теперь становится question_order.
И, опять же, благодаря @DonCallisto!