0

セッターとゲッターを備えた2つのエンティティがあります。

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\ManyToMany(targetEntity="SRC\PurchaseBundle\Entity\Purchase", inversedBy="users")
     * @ORM\JoinTable(name="user_purchases",
     *      joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="purchase_id", referencedColumnName="id")}
     *      )
     */
    protected $purchases;

    ...
}


/**
 * @ORM\Entity
 * @ORM\Table(name="purchases")
 */
class Purchase
{
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

     /**
     * @var users
     *
     * @ORM\ManyToMany(targetEntity="SRC\UserBundle\Entity\User", mappedBy="purchases")
     */
    protected $users;

    ...
}

ユーザーの不足している購入をすべて選択する必要があります。既存の購入をすべて取得し、1 つずつチェックすることで、既にこれを達成しています$user->getPurchases()

この結果を得るためのより良い方法はありますか?

と呼ばれる USER エンティティ内にメソッドを作成する方法はありgetMissingPurchases()ますか?

4

1 に答える 1

0

はい、あなたは行方不明です

@ORM\JoinColumn(name="{name_of_column}", referencedColumnName="{name_of_fk_column}")
于 2012-07-31T13:46:06.723 に答える