小编Fuz*_*zel的帖子

Symfony不会从集合中删除实体

我知道这个话题上有很多帖子.不幸的是,那些主要处理对数据库的实际持久操作.在我的情况下,我有一个问题发生在persist-operation之前:

我有一个带有(Doctrine)persistenceCollection实体的表单.您可以通过javascript从DOM中删除"对象".提交后,当在窗体上调用handleRequest时,调用我的实体中的函数,该函数从对象本身的集合中删除实体,并且调用它,因为我可以在调试器中检查:

/**
 * Remove prices
 *
 * @param \Whizzpm\Bundle\Entity\Supplier\SupplierPrice $prices
 */
public function removePrice(\Whizzpm\Bundle\Entity\Supplier\SupplierPrice $prices)
{
    $this->prices->removeElement($prices);
}
Run Code Online (Sandbox Code Playgroud)

这是$ price的定义:

 /**
 * @var
 * @ORM\OneToMany(targetEntity="SupplierPrice", mappedBy="priceList", cascade={"all"})
 */
private $prices;
Run Code Online (Sandbox Code Playgroud)

基本思想是将更新后的实体与之前的状态进行比较,但在上述功能完成后,权利仍在集合中.

为了更精确:如果我在"removeElement($ prices)"之后检查$ this,它仍然包含应该被删除的对象.

也许这很重要:

供应商(主要实体)

  • 价格表(主要实体的财产 - 也是实体本身)
    • 价格(价格表的财产,实体的收集(价格项目)

price是应该删除元素(price item)的集合.

有什么想法吗?我可以在这个我不知道的问题上添加你需要的任何信息,哪个有意义,因为有负载.

php symfony doctrine-orm

10
推荐指数
1
解决办法
7460
查看次数

Symfony:挂钩登录过程以检查其他条件

我在我的项目中实现了 Symfony 的高级用户界面。它用于注册和登录用户。

现在我有额外的条件,我想在用户登录时检查。比如用户是否已经确认了他或她的电子邮件和/或其他条件。这些条件是用户实体的数据库/属性中的字段,因此很容易检查它们。

想象一下,我想向isEmailConfirmed()用户类添加一个函数,该函数的调用方式类似于isEnabled()高级用户界面中的函数。如果返回 true,则用户可以登录。如果它返回 false,我想限制访问并显示解决问题的消息。

--> 是否正确,在 中的checkPreAuth()函数中添加这样的函数Symfony\Component\Security\Core\User\UserChecker?我正在考虑使用类似的功能来挂钩checkCustomConditions()

php authentication symfony

2
推荐指数
1
解决办法
1417
查看次数

标签 统计

php ×2

symfony ×2

authentication ×1

doctrine-orm ×1