当前位置: 首页 > 知识库问答 >
问题:

Symfony2条令联接返回的数据太多

魏浩广
2023-03-14
/**
 * ForumCategories
 * @ORM\Table(name="forum_categories")
 * @ORM\Entity
 */

class ForumCategories
{


    /**
     * @ORM\OneToMany(targetEntity="ForumTopics", mappedBy="category")
     */
    protected $topics;

    public function __construct()
    {
        $this->topics = new ArrayCollection();
        $this->children = new ArrayCollection();

    }

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var boolean
     *
     * @ORM\Column(name="top_menu", type="boolean")
     */
    private $topMenu;

    /**
     * @var integer
     *
     * @ORM\Column(name="ord", type="integer", type="decimal", options={"default"="0"})
     */
    private $ord;

    /**
     * @var string
     *
     * @ORM\Column(name="color_class", type="string", length=255, nullable=true)
     */
    private $colorClass;

    /**
     * @ORM\OneToMany(targetEntity="ForumCategories", mappedBy="parent")
     **/
    private $children;

    /**
     * @ORM\ManyToOne(targetEntity="ForumCategories", inversedBy="children")
     * @ORM\JoinColumn(name="parent", referencedColumnName="id")
     **/
    private $parent;


    private $parentMenu;
    private $parentCats;
    /**
     * Set name
     *
     * @param string $name
     * @return ForumCategories
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set topMenu
     *
     * @param boolean $topMenu
     * @return ForumCategories
     */
    public function setTopMenu($topMenu)
    {
        $this->topMenu = $topMenu;

        return $this;
    }

    /**
     * Get topMenu
     *
     * @return boolean 
     */
    public function getTopMenu()
    {
        return $this->topMenu;
    }

    /**
     * Set ord
     *
     * @param integer $ord
     * @return ForumCategories
     */
    public function setOrd($ord)
    {
        $this->ord = $ord;

        return $this;
    }

    /**
     * Get ord
     *
     * @return integer 
     */
    public function getOrd()
    {
        return $this->ord;
    }

    /**
     * Set colorClass
     *
     * @param string $colorClass
     * @return ForumCategories
     */
    public function setColorClass($colorClass)
    {
        $this->colorClass = $colorClass;

        return $this;
    }

    /**
     * Get colorClass
     *
     * @return string
     */
    public function getColorClass()
    {
        return $this->colorClass;
    }

    /**
     * Set parent
     *
     * @param string $parent
     * @return ForumCategories
     */
    public function setParent($parent)
    {
        $this->parent = $parent;

        return $this;
    }

    /**
     * Get parent
     *
     * @return string
     */
    public function getParent()
    {
        return $this->parent;
    }



    /**
     * @return ArrayCollection[]
     */
    public function getChildren()
    {
        return $this->children;
    }

    /**
     * @return array[int]
     */
    public function getChildrenId()
    {
        $result = [];
        foreach ($this->getChildren() as $child) {
            $result[] = $child->getId();
        }
        return $result;
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }


    /**
     * Add topics
     *
     * @param \Test\ForumBundle\Entity\ForumTopics $topics
     * @return ForumCategories
     */
    public function addTopic(\Test\ForumBundle\Entity\ForumTopics $topics)
    {
        $this->topics[] = $topics;

        return $this;
    }

    /**
     * Remove topics
     *
     * @param \Test\ForumBundle\Entity\ForumTopics $topics
     */
    public function removeTopic(\Test\ForumBundle\Entity\ForumTopics $topics)
    {
        $this->topics->removeElement($topics);
    }

    /**
     * Get topics
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getTopics()
    {
        return $this->topics;
    }

/**
 * ForumCategories
 * @ORM\Table(name="forum_topics")
 * @ORM\Entity
 */
class ForumTopics
{


    /**
     * @ORM\ManyToOne(targetEntity="ForumCategories", inversedBy="forum_topics")
     * @ORM\JoinColumn(name="cat_id", referencedColumnName="id")
     */
    private $cat_id;
        /**
        * @ORM\ManyToOne(targetEntity="ForumCategories", inversedBy="forum_topics")
        * @ORM\JoinColumn(name="cat_id", referencedColumnName="id", nullable=true)
*/
    private $category;


    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer", type="decimal", options={"default"="0"})
     */
    private $userId;
    /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="forum_topics")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */

    protected $userName;


    /**
     * @ORM\OneToMany(targetEntity="ForumPosts", mappedBy="topic_id")
     */
    public $topic_id;
    protected $posts;

    public function __construct()
    {
        //parent::__construct();
        $this->posts = new ArrayCollection();


    }




    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="cat_id", type="integer", type="decimal", options={"default"="0"})
     */
    private $catId;



    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;



    /**
     * @var \DateTime
     *
     * * @ORM\Column(name="cdate", type="datetime")
     */
    private $cdate;

    /**
     * @var \DateTime
     *
     * * @ORM\Column(name="lastpost", type="datetime")
     */
    private $lastpost;




    /**
     * Set catId
     *
     * @param integer $catId
     * @return ForumTopics
     */
    public function setCatId($catId)
    {
        $this->catId = $catId;

        return $this;
    }

    /**
     * Get catId
     *
     * @return integer 
     */
    public function getCatId()
    {
        return $this->catId;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return ForumTopics
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set userId
     *
     * @param integer $userId
     * @return User
     */
    public function setUserId($userId)
    {
        $this->userId = $userId;

        return $this;
    }

    /**
     * Get userId
     *
     * @return integer 
     */
    public function getUserId()
    {
        return $this->userId;
    }

    /**
     * Set cdate
     *
     * @param \DateTime $cdate
     * @return ForumTopics
     */
    public function setCdate($cdate)
    {
        $this->cdate = $cdate;

        return $this;
    }

    /**
     * Get cdate
     *
     * @return \DateTime 
     */
    public function getCdate()
    {
        return $this->cdate;
    }

    /**
     * Set lastpost
     *
     * @param \DateTime $lastpost
     * @return ForumTopics
     */
    public function setLastpost($lastpost)
    {
        $this->lastpost = $lastpost;

        return $this;
    }

    /**
     * Get lastpost
     *
     * @return \DateTime 
     */
    public function getLastpost()
    {
        return $this->lastpost;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }



    /**
     * Set category
     *
     * @param \Test\ForumBundle\Entity\ForumCategories $category
     * @return ForumTopics
     */
    public function setCategory(\Test\ForumBundle\Entity\ForumCategories $category = null)
    {
        $this->category = $category;

        return $this;
    }

    /**
     * Get catId
     *
     * @return \Test\ForumBundle\Entity\ForumCategories 
     */
    public function getCategory()
    {
        return $this->catId;
    }


    /**
     * Add posts
     *
     * @param \Test\ForumBundle\Entity\ForumPosts $posts
     * @return ForumTopics
     */
    public function addPost(\Test\ForumBundle\Entity\ForumPosts $posts)
    {
        $this->posts[] = $posts;

        return $this;
    }

    /**
     * Remove posts
     *
     * @param \Test\ForumBundle\Entity\ForumPosts $posts
     */
    public function removePost(\Test\ForumBundle\Entity\ForumPosts $posts)
    {
        $this->posts->removeElement($posts);
    }

    /**
     * Get posts
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getPosts()
    {
        return $this->posts;
    }



    /**
     * Set userName
     *
     * @param \Test\ForumBundle\Entity\User $userName
     * @return ForumTopics
     */
    public function setUserName(\Test\ForumBundle\Entity\User $userName = null)
    {
        $this->userName = $userName;

        return $this;
    }

    /**
     * Get userName
     *
     * @return \Test\ForumBundle\Entity\User 
     */
    public function getUserName()
    {
        return $this->userName;
    }

    /**
     * Add topic_id
     *
     * @param \Test\ForumBundle\Entity\ForumPosts $topicId
     * @return ForumTopics
     */
    public function addTopicId(\Test\ForumBundle\Entity\ForumPosts $topicId)
    {
        $this->topic_id[] = $topicId;

        return $this;
    }

    /**
     * Remove topic_id
     *
     * @param \Test\ForumBundle\Entity\ForumPosts $topicId
     */
    public function removeTopicId(\Test\ForumBundle\Entity\ForumPosts $topicId)
    {
        $this->topic_id->removeElement($topicId);
    }

    /**
     * Get topic_id
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getTopicId()
    {
        return $this->topic_id;
    }
}

/**
    * Lists only top categories
    *
    * @Route("/top.{_format}", defaults={"_format"="html"})
    * @Method("GET")
    * @ApiDoc()
    */
    public function listTopAction()
    {
        $em = $this->getDoctrine()->getManager();

        $entities = $em->getRepository('TestForumBundle:ForumCategories')->findBy(
            array('parent' => NULL, 'topMenu' => '1')

        );

        return  $entities;

    }

    /**
     * Lists only top categories WDQL
     *
     * @Route("/tops.{_format}", defaults={"_format"="html"})
     * @Method("GET")
     * @ApiDoc()
     */
    public function listTopDQLAction()
    {


        $em = $this->getDoctrine()->getManager();



        $query = $em->getRepository("TestForumBundle:ForumCategories")->createQueryBuilder('c')
            ->where('c.topMenu = 1')
            ->getQuery();

        $results = $query->getResult();
        return $results;
    }

是否有一种方法可以只得到那些数据我不需要所有的数据从所有其他的表组合键??多谢帮忙!

共有1个答案

上官凯泽
2023-03-14

据我所知你可能想要这样的东西

Symfony2在条令中选择一列

但我不能真正理解您想要获得的确切数据结构,以及您引用的是控制器中的哪个查询。

 类似资料:
  • 在使用php app/console原则时,我得到以下错误:schema:update--force。 这里是我的实体文件的问题。(profiles部分完成)。

  • 问题内容: 我的实体中有一些字段,例如: 在我的数据库架构上,该字段设置为,所以应该没问题。无论如何:每当我尝试插入图片或pdf时-都不比,我只会收到此信息 我已经检查了我的MySQL cnf,并将参数设置为-我缺少什么吗? 问题答案: 这完全取决于用于列的列类型。根据您的需要,使用: :最大长度为255个字节 :最大长度为65,535字节 :最大长度16,777,215字节 :最大长度为4,29

  • 嗨,伙计们,我正在使用Laravel5.5,我有两个表,用户和服务 用户表 ID 名称 电子邮件 密码 地址 城市 国家 邮政编码 null 提前谢了。热烈问候:阿卜杜拉·沙希德。

  • 本文向大家介绍symfony2 返回404响应,包括了symfony2 返回404响应的使用技巧和注意事项,需要的朋友参考一下 示例 当在服务器上找不到资源时,将返回404响应。在Symfony中,可以通过引发NotFoundHttpException异常来创建此状态。为了避免use在控制器内部添加多余的语句,请使用类createNotFoundException()提供的Controller  

  • 问题内容: 给定一个简单的表,其中包含以下数据: 我将如何编写查询以使用PostgreSQL返回行的最后一次丢失或成功连胜?在这种情况下,我正在寻找以下结果: 我猜答案是使用和分区语法,但是我似乎无法确定。 问题答案: 假设(您不知道) 恰好有两个不同的值:。 从最新条目最高的角度来说是连续的。 这样就可以了: 这会获得和的最新ID ,是第一个和两个中较早的ID 。因此,a获得相反结果的最后一项。

  • 我在ViewDidLoad函数中有一些代码,它将在调用堆栈的末尾设置一个类变量。我试图重构代码,使其成为一个单独的函数,它将返回值,而不是设置类变量。 由于我缺乏swift知识,我不确定哪里出了问题,我的函数似乎返回得太厄尔了,因为我可以在调试器中告诉我,它在被设置为之前跳转到return。 我还可以在调试器中看到,内部函数在返回主函数后调用。 如何等待内部调用完成后再返回?或者什么是正确的快速方