Php Symfony 2对象与对象数组,如何访问它们?

Php Symfony 2对象与对象数组,如何访问它们?,php,mysql,symfony,object,doctrine-orm,Php,Mysql,Symfony,Object,Doctrine Orm,我有3个Symfony2实体,它们以以下方式关联: 车牌号、品牌、型号的车辆。此外,这辆车有很多工作和燃料购买 作业有一种方法,在作业开始时使用里程表,在作业结束时使用里程表,给出作业的总距离。 燃料采购有升、燃料价格和成本法。 希望呈现一个表格报告,其中包含车辆车牌号、总距离、总燃油、燃油成本、Km/L、总作业,所有这些都基于一段时间。 他还想对数据库进行传统的查询,以完成所有这一切,我发布了一个问题。你可以在那里看到一些真实的物体。但是,如果我没有错的话,Symfony2的理念是使用具有所有

我有3个Symfony2实体,它们以以下方式关联:

车牌号、品牌、型号的车辆。此外,这辆车有很多工作和燃料购买 作业有一种方法,在作业开始时使用里程表,在作业结束时使用里程表,给出作业的总距离。 燃料采购有升、燃料价格和成本法。 希望呈现一个表格报告,其中包含车辆车牌号、总距离、总燃油、燃油成本、Km/L、总作业,所有这些都基于一段时间。 他还想对数据库进行传统的查询,以完成所有这一切,我发布了一个问题。你可以在那里看到一些真实的物体。但是,如果我没有错的话,Symfony2的理念是使用具有所有这些对象的车辆对象来实现它。你认为最好的方法是什么? 只是我不能管理,例如上下的对象阵列。我试过这个:

class ReportsController extends Controller
{
public function renderAction(Request $request)
{
    $vehicles = $this->getDoctrine()->getRepository('TeamERPTransportBundle:Vehicle')->findAll();

    $countVehicles = 0;
    $countJobsXVehicle[] = 0;

            foreach ($vehicles as $vehicle)
            {     
                    $VehicleJobs  = new ArrayCollection();
                    $VehicleJobs[]  = $vehicle->getJobs();
                    $countJobsXVehicle[$countVehicles] = $this->VehicleJobs($VehicleJobs);          
                    //$VehicleRefuels = $vehicle->getFuelPurchaces();
                    //foreach ($VehicleRefuels)
                    $countVehicles++;                        
            }

}
    return $this->render('TeamERPTransportBundle:Transport:report.html.twig', array('vehicles' => $vehicles,
        'countJobsXVehicle' => $countJobsXVehicle,
        'countVehicles' => $countVehicles,
        'render' => $graph));
}
private function VehicleJobs (ArrayCollection $VehicleJobs){
    $countJobsXVehicle = 0;
    foreach ($VehicleJobs as $VehicleJob)
    {
        $countJobsXVehicle++;
        //var_dump($VehicleJob);
    }  
    return $countJobsXVehicle;
}
}
类ReportsController扩展控制器 { 公共函数renderActionRequest$request { $vehicles=$this->getDoctrine ->getRepository'TeamERPTransportBundle:Vehicle'->findAll; $countVehicles=0; $countJobsXVehicle=数组; foreach$车辆作为$车辆 { $VehicleJobs=$vehicle->getJobs; $countJobsXVehicle[$countVehicles]=0; $countVehicles++; //这段代码给出了错误 foreach$VehicleJobs作为$VehicleJob { $countJobsXVehicle[$countVehicles]+; } //我计划在购买燃料时也这样做 //$VehiclerRefuels=$vehicle->getFuelPurchaces; //每辆$VehiclerRefuels } } } 有了这个,我得到了这个错误: ContextErrorException:注意:未定义索引:D:\Web\wamp\www\team\vendor\doctrine\orm\lib\doctrine\orm\Persisters\basicitypersister.php第1753行中的车辆

我如何让它工作? 谢谢你的帮助

编辑: 我也试过:

class ReportsController extends Controller
{
public function renderAction(Request $request)
{
    $vehicles = $this->getDoctrine()->getRepository('TeamERPTransportBundle:Vehicle')->findAll();

    $countVehicles = 0;
    $countJobsXVehicle[] = 0;

            foreach ($vehicles as $vehicle)
            {     
                    $VehicleJobs  = new ArrayCollection();
                    $VehicleJobs[]  = $vehicle->getJobs();
                    $countJobsXVehicle[$countVehicles] = $this->VehicleJobs($VehicleJobs);          
                    //$VehicleRefuels = $vehicle->getFuelPurchaces();
                    //foreach ($VehicleRefuels)
                    $countVehicles++;                        
            }

}
    return $this->render('TeamERPTransportBundle:Transport:report.html.twig', array('vehicles' => $vehicles,
        'countJobsXVehicle' => $countJobsXVehicle,
        'countVehicles' => $countVehicles,
        'render' => $graph));
}
private function VehicleJobs (ArrayCollection $VehicleJobs){
    $countJobsXVehicle = 0;
    foreach ($VehicleJobs as $VehicleJob)
    {
        $countJobsXVehicle++;
        //var_dump($VehicleJob);
    }  
    return $countJobsXVehicle;
}
}
它是有效的,但它的行为方式与预期不同。
实体类别是。

我将在VehiclerRepository中创建这些总计函数,查询作业/totalFuel/和totalDistance部分。请参阅条令部分并返回数组结果,然后我将使用foreach vehicle进行简单的数组计数,就像您上面所做的那样。然后执行findAll结果,返回连接的对象向量,等等-将所有这些传递给模板。
让我们知道更多关于这些总数你正在寻找,我可以更具体

我在代码中没有看到任何数组调用vehicles索引。你确定你问题中的代码是1753行的代码吗?@n.1我真的不知道你的意思,可能是因为我太笨了。查看问题的版本。我想知道为什么错误消息提到车辆,而没有使用此名称的变量。您可以发布您的模板吗?我就你的链接问题询问了你的fuelPurchace实体关联。谢谢你,我已经用方法整理好了。最后,问题不在我的查询方法中,而是在我的实体中。