【发布时间】: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 是一个数组??
请问我该怎么做?还有其他技巧吗(查询的返回类型是对象)??
【问题讨论】:
-
请花点时间修正您的问题的格式,这很难阅读。