Symfony/Doctrine ManyToMany 按照分配的顺序

waw*_*awa 5 php many-to-many join symfony doctrine-orm

我有一个名为实体Game具有ManyToMany与连接JoinTable到名为实体Question

这很好用。问题是,我需要的准确顺序的问题,因为他们选择,而不是问题编号的顺序排列,像我现在让他们当我打电话getQuestions()Game类。有没有办法做到这一点?

问题都添加了$game->addQuestion($question);。问题是存在的,游戏是坚持,在问题被添加后。

...
class Game {
    ...
    /**
     * @ORM\ManyToMany(targetEntity="Question")
     * @ORM\JoinTable(name="Games_to_Questions",
     *      joinColumns={@ORM\JoinColumn(name="game_id", referencedColumnName="id")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="question_id", referencedColumnName="id")}
     *      )
     **/
    private $questions;
    ...
}
...
class Question {
    ...
}
...
Run Code Online (Sandbox Code Playgroud)

Der*_*k F 5

您将必须添加一个带有排序顺序列的中间实体。我们称之为 GameQuestion。

/**
 * @ORM\Table(name="game_question")
 * @ORM\Entity(repositoryClass="Gedmo\Sortable\Entity\Repository\SortableRepository")
 */
class GameQuestion {
    private $game;
    private $question;
    /**
     * @Gedmo\SortablePosition
     */
    private $sortOrder;
}
Run Code Online (Sandbox Code Playgroud)