【问题标题】:Symfony2 Repository QuerySymfony2 存储库查询
【发布时间】:2017-05-03 23:09:00
【问题描述】:

我有一个多对多表 progvol、表用户、表航班的关系 和一个一对多的表用户关系 rammasage 在 rammassage 表中,我有一个日期字段,在航班表中,我有一个开始日期,我比较了这两个日期 所以我写了一个sql查询来知道vol表的用户的日期。 首先 j fai ds 我的控制器获取当前用户 $ user = $ this-> getUser(); 在我的存储库中我做到了

    <?php

namespace PfeBundle\Repository;
use Doctrine\ORM\EntityRepository;


/**
 * programmevolRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class programmevolRepository extends EntityRepository
{

    public function getOnlyActive ($valeur,$vol)
    {
        $qb = $this->createQueryBuilder('a');
        $qb->where('a.users = :valeur');  // means id_user of table programmevol = $valeur($user->getId());
        $qb->where('a.vols = :vol');  // means id_vol of table vol = $vol (une instancedelaclassevol->getId());
        $qb->where('vol' , $vol);
        $qb->setParameter('valeur', $valeur);

        return $qb->getQuery()->getOneOrNullResult();
    }


}

在我的控制器中我做了

    $comp = new CompanyEvents();

$user = $this->get('security.token_storage')->getToken()->getUser();
$userprogvol = $em->getRepository('PfeBundle:programmevol')->getOnlyActive($user->getId(),$comp->getId());

现在我有一个 $ userprogvol 表,其中我有 programvol 表的航班 id + 当前用户的 id

现在我想做(如果$userprog->flights(id_vol) == $comp->id_vol)$var=$comp->getDebt();但是 $ userprogvol 是一个数组??

请问我该怎么做?还有其他技巧吗(查询的返回类型是对象)??

【问题讨论】:

  • 请花点时间修正您的问题的格式,这很难阅读。

标签: php symfony orm doctrine


【解决方案1】:

如果它是一个数组,你可以迭代它

foreach ($userprog->flights() as $flight) {
    if($flight->getId() == $comp->getId()){
        //...
    }
}

因为你的变量和属性命名我完全不清楚,这只是为了让你有个想法

而且它不是一个简单的数组,而是一个学说 arrayCollection 所以在这里你有一个可用方法的列表

http://www.doctrine-project.org/api/common/2.3/class-Doctrine.Common.Collections.ArrayCollection.html

也许$userprog-&gt;flights()-&gt;contains($element)

是你真正追求的东西

【讨论】:

    猜你喜欢
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2012-08-11
    相关资源
    最近更新 更多