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 で異なるものを選択するとうまくいくはずです

于 2013-08-06T22:54:31.443 に答える