簡體   English   中英

Symfony / Doctrine ManyToMany按指定順序排列

[英]Symfony/Doctrine ManyToMany in the order the are assigned

我有一個名為Game的實體,它有一個與一個名為Question的實體的JoinTableManyToMany連接

這非常有效。 問題是,我在選擇時需要按照確切的順序排列問題,而不是按問題ID排序,因為我現在在Game類上調用getQuestions()時會得到它們。 有沒有辦法做到這一點?

這些問題都添加了$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 {
    ...
}
...

您將不得不添加具有排序順序列的中間實體。 我們稱之為GameQuestion。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM