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