【问题标题】:doctrine criteria memberOf学说标准成员
【发布时间】:2022-10-21 16:20:51
【问题描述】:

我收到错误

in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php (line 1611)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.phpsprintf (line 1611)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php->getSelectConditionStatementSQL (line 58)
in vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php->walkComparison (line 47)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php->dispatch (line 73)
in vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php->walkCompositeExpression (line 53)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php->dispatch (line 1570)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php->getSelectConditionCriteriaSQL (line 296)
in vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php->getSelectSQL (line 833)
in vendor/doctrine/orm/lib/Doctrine/ORM/PersistentCollection.php->loadCriteria (line 657)
in /Model/AlertRelationTrait.php->matching (line 42)

查询构建

 $criteria = Criteria::create();

query 

 $criteria->where(Criteria::expr()->memberOf('createdFor',$myUser));

  return $this->alerts->matching($criteria);

映射

   /**
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\User",cascade={"persist"})
     * @var User|ArrayCollection
     */
    protected $createdFor;

【问题讨论】:

  • 这似乎不是完整的错误。

标签: php doctrine criteria


【解决方案1】:

需要定义多对多关系的拥有和反面 (docs)。

    /**
     * @ORMManyToMany(targetEntity="AppBundleEntityUser",
     *                 mappedBy="alerts")
     * @var ArrayCollection
     */
    protected $createdFor;

然后在另一边

    /**
     * @ORMManyToMany(targetEntity="AppBundleEntityAlert",
     *                 inversedBy="createdFor")
     * @var ArrayCollection
     */
    protected $alerts;

【讨论】:

    猜你喜欢
    • 2018-10-09
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多