教义收集检索和收集形式



首先感谢您的帮助。

这是我的实体:

class Salon { 
/**
 * @ORMManyToMany(targetEntity="ScreenfonyDemoBundleEntityExposant", cascade={"persist"})
 */
private $exposants;

第二个:

class Exposant{
/**
 * @var integer
 *
 * @ORMColumn(name="id", type="integer")
 * @ORMId
 * @ORMGeneratedValue(strategy="AUTO")
 */
private $id;

我想为一个博览会者创建一个表单,他将能够看到他的沙龙的收藏(添加和删除一些)。

首先,我被要求获得所有沙龙的曝光者。我尝试了,但没有工作:

    $exposant = $this   ->getDoctrine()
                      ->getManager()
                      ->getRepository('ScreenfonyDemoBundle:Exposant')
                      ->findOneBy(array('user' => $id)); 
    $exposant_id = $exposant->getId();
    $salons = $this ->getDoctrine()
                    ->getManager()
                    ->getRepository('ScreenfonyDemoBundle:Salon');
    $my_salons = new DoctrineCommonCollectionsArrayCollection(); 
    foreach ($salons as $salon) {
        if($salon->getExposants()->contains($exposant_id)){
            $mes_salons->add($salon);
        }
    }

然后我想把结果添加到一个表格中,并处理一个暴露者的新沙龙的请求。

thanks of your help

在类暴露中,它缺少创建中间表exposant_salon:

的多对多关系。
class Exposant{
/**
 * @var integer
 *
 * @ORMColumn(name="id", type="integer")
 * @ORMId
 * @ORMGeneratedValue(strategy="AUTO")
 */
private $id;
/**
 * @ORMManyToMany(targetEntity="ScreenfonyDemoBundleEntitysalon", inversedBy="exposants", cascade={"persist"})
 * @ORMJoinTable(name="exposant_salon",
 *      joinColumns={@ORMJoinColumn(name="id_exposant", referencedColumnName="id")},
 *      inverseJoinColumns={@ORMJoinColumn(name="id_salon", referencedColumnName="id")}
 * )
 */
private $salons;

在实体中创建getsalon()方法后:

public function getSalons()
{
    return $this->salons;
}

恢复暴露的沙龙做如下:

$my_salons = $exposant->getSalons();

相关内容

  • 没有找到相关文章

最新更新