Symfony2 - 排序多维数组递归

时间:2016-09-13 09:42:49

标签: php arrays symfony sorting doctrine

我的常见问题解答 - 系统可以使用SubFAQ,每个常见问题解答和子常见问题都可以被喜欢(如计数)。

我设法通过控制器中的likecount对所有常见问题解答(父母)进行排序:

        $faqs = $this->getDoctrine()// DATENBANK LADEN UND DIREKT SORTIEREN
    ->getRepository('AppBundle:Faq')
        ->findBy(array('parent' => null), array('likecount' => 'desc'));

问题是,SubFAQ仍未按类似数量排序。

父母转储(常见问题解答)

  "faqs" => array:13 [▼
0 => Faq {#1025 ▼
  -id: 23
  -question: "ajaja"
  -answer: "ajaja"
  -username: "Robert"
  -userid: 1
  -createdat: DateTime {#1023 ▶}
  -likecount: 4
  -tags: PersistentCollection {#1040 ▶}
  -categoryid: Category {#1015 ▶}
  -children: PersistentCollection {#1042 ▶}
  -parent: null
  -faqcatid: Category {#1015 ▶}

儿童转储(子常见问题解答)

    0 => Faq {#1349 ▼
  -id: 72
  -question: "1"
  -answer: "1"
  -username: "Robert"
  -userid: 1
  -createdat: DateTime {#1351 ▶}
  -likecount: null
  -tags: PersistentCollection {#1095 ▶}
  -categoryid: null
  -children: PersistentCollection {#1372 ▶}
  -parent: Faq {#469 ▶}
  -faqcatid: null

我在每个常见问题解答中都包含一个'subfaq.html.twig'并将孩子传给他。它再次包含在subfaq.html.twig中,以防Subs in Subs。

{{ include('default/subfaq.html.twig', {'faqs' : faq.children}) }}

我怎么解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以order associations使用注释:

/** @Entity **/
class Faq
{
    // ...

    /**
     * @ManyToMany(targetEntity="SubFaq")
     * @OrderBy({"likecount" = "ASC"})
     **/
    private $subfaqs;
}