これら 2 つのエンティティ間に双方向の多対多があります。
位置
/**
* Position
*
* @ORM\Table(name="applypie_position")
* @ORM\Entity(repositoryClass="Applypie\Bundle\PositionBundle\Entity\PositionRepository")
*/
class Position
{
const IS_ACTIVE = true;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToMany(targetEntity="Applypie\Bundle\UserBundle\Entity\Applicant", mappedBy="bookmarks")
*/
private $bookmarkedApplicants;
申請者
/**
* Applicant
*
* @ORM\Table(name="applypie_applicant")
* @ORM\Entity
*/
class Applicant
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToMany(targetEntity="Applypie\Bundle\PositionBundle\Entity\Position", inversedBy="bookmarkedApplicants")
* @ORM\JoinTable(name="applypie_user_job_bookmarks",
* joinColumns={@ORM\JoinColumn(name="applicant_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="position_id", referencedColumnName="id")}
* )
*/
private $bookmarks;
私の問題は次のとおりです。 ID で位置を簡単に表示する PositionControllers アクションでは、位置を表示したい現在の申請者が現在の位置のブックマークを持っているかどうかを知る必要があります。
私は最初に $applicant->getBookmarks() ですべてのブックマークを取得し、現在の位置に対してすべての応募者のブックマークをチェックしてフォアアーチ内で実行することを考えましたが、もっと簡単な方法があるに違いないと思いますか?
ありがとうございました