Symfony 如何仅显示特定行的数据
我正在使用SYMPHONY和TWIG模板 我做了一个表格,其中包含的信息属于人名,出生日期,城市等 我想要的是: 所有居住在城市A的人似乎都是管理城市A的模板 所有居住在城市B的人都去管理城市B的模板 这是我的代码:Symfony 如何仅显示特定行的数据,symfony,doctrine,twig,Symfony,Doctrine,Twig,我正在使用SYMPHONY和TWIG模板 我做了一个表格,其中包含的信息属于人名,出生日期,城市等 我想要的是: 所有居住在城市A的人似乎都是管理城市A的模板 所有居住在城市B的人都去管理城市B的模板 这是我的代码: /** * @Route("/infoProspect", name="user_infoProspects", methods={"GET","POST"}) */ public function g
/**
* @Route("/infoProspect", name="user_infoProspects", methods={"GET","POST"})
*/
public function getInfo(ProspectRepository $prospectRepository,AgencyRepository $CityRepository,AgencyRepository $CityRepository ): Response
{
$prospect = new Prospect();
return $this->render('user/_infoProspect.html.twig', [
'prospects' => $prospectRepository->findOneByCity(''),
'agency' => $AgencyRepository->findOneByCity(''),
'city' => $cityRepository->findOneByCity('Vern'),
]
);
}
AgencyRepository包含城市标识和用户标识。
因此,选择城市A的人的信息将转到根据其用户id仅管理城市A的代理模板
我的模板上的示例:
我这里只需要名为“雷恩”的城市,而不是名为弗恩的城市
如果你需要更多的信息,请问我。谢谢。为了让您的控制器知道要使用哪个城镇,您可以使用@Entity之类的参数转换器。以下是一些适合您的情况的代码:
/**
* @Route("infoprospect/{id_city}", name="info_prospect")
* @Entity("city", expr="repository.find(id_city)") // <- here the conversion from id_city to a hydrated doctrine entity
**/
public function getInfo(City $city, ProspectRepository $prospectRepository, AgencyRepository $AgencyRepository, CityRepository $CityRepository)
{
// then find the people related to your city
// if you dump city here, you will see the parameter converter found the one matching city_id
$peopleOfCity = $city->getPeople();
// and finally pass the people and other info to your template
return $this->render('user/_infoProspect.html.twig', [
'prospects' => $prospectRepository->findOneByCity(''),
'agency' => $AgencyRepository->findOneByCity(''),
'city' => $cityRepository->findOneByCity('Vern'),
"people" => $peopleOfCity
]);
}
有关@Entity和参数转换的更多信息:我在添加{id_city}时发现@ParamConverter注释未找到错误App\Entity\User对象。变量id_city在@Route和@Entity注释中必须具有相同的名称,变量city在@Entity注释和控制器函数声明$city中必须具有相同的名称。这正是我所做的,几乎是复制和粘贴。您的错误很奇怪,因为$city是city的一个实例,您的错误是找不到用户实例。@Entity注释使用链接到实体类的存储库。您还必须检查URL的生成是否提供了有效的城市id;更多信息请点击这里->在我的用户控制器中创建我的模板infoProspect可能不是一个好主意。为什么Prospect和代理在存储库功能中没有Vern?如果存储库只返回所要求的城镇,这不会解决您的问题吗?