Doctrine orm ymfony\Component\Debug\Exception\ContextErrorException:可捕获的致命错误:无法将类条令的对象\ORM\EntityManager转换为string@AndreVanVeen您能否更新您的问题并显示您如何

Doctrine orm ymfony\Component\Debug\Exception\ContextErrorException:可捕获的致命错误:无法将类条令的对象\ORM\EntityManager转换为string@AndreVanVeen您能否更新您的问题并显示您如何,doctrine-orm,doctrine,doctrine-query,Doctrine Orm,Doctrine,Doctrine Query,ymfony\Component\Debug\Exception\ContextErrorException:可捕获的致命错误:无法将类条令的对象\ORM\EntityManager转换为string@AndreVanVeen您能否更新您的问题并显示您如何尝试运行此代码的详细信息此错误看起来您没有正确调用它,如此处所述,请检查now@AndreVanVeen您能否将->从(“Prices”,“p”)更改为->从(“YourBundleName:Prices”,“p”)除此之外,您还没有通过set


ymfony\Component\Debug\Exception\ContextErrorException:可捕获的致命错误:无法将类条令的对象\ORM\EntityManager转换为string@AndreVanVeen您能否更新您的问题并显示您如何尝试运行此代码的详细信息此错误看起来您没有正确调用它,如此处所述,请检查now@AndreVanVeen您能否将
->从(“Prices”,“p”)
更改为
->从(“YourBundleName:Prices”,“p”)
除此之外,您还没有通过
setParameter()
提供一些占位符,如
adminId
userId
,完成!您可能需要更新$userPrices查询中的别名,以避免“p”已定义错误。非常感谢!方法#3仅当这不是您的预期输出时才产生业主价格,然后请在结果集中指定您还需要什么
1) $queryUsersPrices
                        ->innerJoin('p.owner', 'o')
                        ->leftJoin('p.users', 'u')
                        ->andWhere('o.id = :ownerId')
                        /*I need to Remove records for u.id from results*/
                        ->andWhere('u.id = :user1Id')
                        ->setParameter('owner1Id', $owner->getId())
                        ->setParameter('user1Id', $user->getId());

                    $userPrices = $queryUsersPrices->getQuery()->getResult();

2) $userPrices =   $repository->createQueryBuilder($alias);
                $userPrices
                    ->select("u.prices")
                    ->from("Price","p")
                    ->innerJoin('p.users', 'u')
                    ->andWhere('u.id = :userId')
                    ->getDQL();

   $query = $repository->createQueryBuilder($alias);
                $query
                    ->innerJoin($alias . '.owner', 'o')
                    ->innerJoin($alias . '.priceType', 'pt')
                    ->innerJoin($alias . '.model', 'm')
                    ->where(
                        $query->expr()->not(
                            $query->expr()->in(
                                'p.id',
                                $userPrices
                            )
                        )
                    )
                    ->andWhere('m.status = :m_status')
                    ->andWhere('o.id = :adminId')
                    ->andWhere('pt.site <> 1')
                    ->setParameter('m_status',  Model::STATUS_ACTIVE);

                $result = $query->getQuery()->getResult();

3) $query = $repository->createQueryBuilder($alias);
                $query
                    ->innerJoin($alias . '.owner', 'o')
                    ->innerJoin($alias . '.users', 'u', 'WITH', 'u.id = 
                     :userId')
                    ->innerJoin($alias . '.priceType', 'pt')
                    ->innerJoin($alias . '.model', 'm')
                    ->where('m.status = :m_status')
                    ->andWhere('o.id = :adminId')
                    ->andWhere('u.id IS NULL')
                    ->andWhere('pt.site <> 1')
                    ->setParameter('adminId', $adminUser->getId())
                    ->setParameter('userId',  $user->getId())
                    ->setParameter('m_status',  Model::STATUS_ACTIVE);

                $test = $query->getQuery()->getResult();
$userPrices =   $repository->createQueryBuilder('pr')
                    ->innerJoin('pr.users', 'u')
                    ->andWhere('u.id = :userId')
                    ->setParameter('userId',  $user->getId())
                    ->getDQL();

                $query = $repository->createQueryBuilder($alias);
                $query
                    ->innerJoin($alias . '.owner', 'o')
                    ->innerJoin($alias . '.priceType', 'pt')
                    ->innerJoin($alias . '.model', 'm')
                    ->where(
                        $query->expr()->not(
                            $query->expr()->in(
                                $alias . '.id',
                                $userPrices
                            )
                        )
                    )
                    ->andWhere('m.status = :m_status')
                    ->andWhere('o.id = :adminId')
                    ->andWhere('pt.site <> 1')
                    ->setParameter('m_status',  Model::STATUS_ACTIVE)
                    ->setParameter('adminId', $adminUser->getId())
                    ->setParameter('userId',  $user->getId());

                $result = $query->getQuery()->getResult();
$userPrices =   $this->createQueryBuilder("u")
                     ->select("u.prices")
                     ->from("YourBundleName:Prices","p")
                     ->innerJoin('p.users', 'u')
                     ->andWhere('u.id = :user1Id')
                     ->getDQL();
$qb = $this->createQueryBuilder("pr");
 $qb->select("pr")
    ->from("YourBundleName:Price", "pr")
    ->innerJoin('pr.owner', 'o')
    ->where(
        $qb->expr()->not(
            $qb->expr()->in(
            "pr.id",
            $userPrices
            )
        )
    )
    ->andWhere('o.id = :ownerId')
    ->setParameter('owner1Id', $owner->getId())
    ->setParameter('user1Id', $user->getId())
;
$query = $qb->getQuery();
$result = $query->getResult();
SELECT p
FROM Price p
JOIN p.owners o 
LEFT JOIN p.users u WITH u.id = :user1Id
WHERE u.id IS NULL
AND o.id = :ownerId
$qb =  $this->createQueryBuilder("p")
            ->select("p")
            ->from("Price", "p")
            ->innerJoin('p.owner', 'o')
            ->leftJoin(
                'p.users',
                'u',
                'WITH',
                'u.id = :user1Id'
            )
            ->where('u.id IS NULL')
            ->andWhere('o.id = :ownerId')
            ->setParameter('owner1Id', $owner->getId())
            ->setParameter('user1Id', $user->getId())
        ;
$query = $qb->getQuery();
$result = $query->getResult();