gpt4 book ai didi

mysql - Symfony - 过滤连接导致查询不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 00:13:04 24 4
gpt4 key购买 nike

我正在尝试执行查询以返回当前用户已批准但未预订的事件。

当我执行此查询时,我没有返回任何事件,它应该返回当前用户未预订的事件。

 public function getAvailableEvents(UserInterface $user)
{
$q = $this->getEntityManager()->createQuery('
select v from Tsk\FEBundle\Entity\Event v
left join v.attendance a where a.id != :user
and v.is_approved = true
');
$q->setParameter("user", $user);
return $q->execute();
}

这是我的两个实体 UserEvent 特定于此关系的部分。

用户:

/**
* @ORM\ManyToMany(targetEntity="Event", inversedBy="attendance", cascade={"persist", "remove"})
* @ORM\JoinTable(name="users_events",
* joinColumns={@ORM\JoinColumn(name="event_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
* )
*/
protected $booked_events;

事件实体:

/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="booked_events")
*/
protected $attendance;

最佳答案

如前所述,问题似乎出在查询中。如果您想获得无人参加的事件,您可以使用 WHERE a IS NULL 条件。

关于mysql - Symfony - 过滤连接导致查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com