Php Symfony2存储库查询

Php Symfony2存储库查询,php,symfony,orm,doctrine,Php,Symfony,Orm,Doctrine,我与多对多表progvol、表用户、表航班有关系 和一对多表用户关系rammasage 在表格rammassage中,我有一个日期字段,在表格flights中,我有一个开始日期,我比较了这两个日期 因此,我编写了一个sql查询来了解vol表用户的日期。 第一个j fai ds my controller获取当前用户$user=$this->getUser(); 在我的寓所里,我做到了 <?php namespace PfeBundle\Repository; use Doctri

我与多对多表progvol、表用户、表航班有关系 和一对多表用户关系rammasage 在表格rammassage中,我有一个日期字段,在表格flights中,我有一个开始日期,我比较了这两个日期 因此,我编写了一个sql查询来了解vol表用户的日期。 第一个j fai ds my controller获取当前用户$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();
    }


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

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


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

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

foreach ($userprog->flights() as $flight) {
    if($flight->getId() == $comp->getId()){
        //...
    }
}
因为您的变量和属性命名对我来说完全不清楚,所以这只是为了让您了解一些情况

它不是一个简单的数组,而是一个原则数组集合 这里有一个可用方法的列表

可能
$userprog->flights()->包含($element)


这才是你真正想要的

请花点时间修改你问题的格式,这很难理解。
foreach ($userprog->flights() as $flight) {
    if($flight->getId() == $comp->getId()){
        //...
    }
}