0

我有以下情况:

    /**
     * @Entity 
     * @Table(name="users")
     */

    class Users{

        /**
         *
         * @Id  @Column(type="integer")
         * @GeneratedValue
         */
        protected $id_user;

        /**
         * @OneToMany(targetEntity="Items",mappedBy="user")
         */
        private $items;

//this method sould return distinct items by name or group by name
public function getItems(){
return $this->items;
}
    }



       /**
     * @Entity 
     * @Table(name="items")
     */

class Items{

    /**
     *
     * @Id  @Column(type="integer")
     * @GeneratedValue
     */
    protected $id_item;

   /**
     *
     * @Id  @Column(type="string")
     */
    protected $name;

       /**
     * @ManyToOne(targetEntity="User",inversedBy="items")
     * @JoinColumn(name="id_user", referencedColumnName="id_user" ,onDelete="CASCADE")
     */
    protected $user;
}

在我看来,我发送了一个 $UserEntity,我的问题是我只想显示具有唯一名称的项目。所以如果我这样做 $items=$userEntity->getItems(); 我收到所有用户项目,而不仅仅是唯一的。

我该如何解决这种情况?

谢谢

4

1 回答 1

0

使用 DQL 选择 distinct 应该可以解决问题

于 2013-08-06T22:54:31.443 回答