- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试访问其中一个路由时出现问题,出现此错误:“@ParamConverter 注释找不到 App\Entity\CompanyUser 对象”
很多人都有同样的问题,但我能看到的解决方案都不能解决我的问题。
我的功能编辑:
private $passwordEncoder;
public function __construct(UserPasswordEncoderInterface $passwordEncoder)
{
$this->passwordEncoder = $passwordEncoder;
}
/**
* @Route("/{id}/edit", name="company_user_edit", methods={"GET","POST"}, requirements={"id"="\d+"})
*/
public function edit(Request $request, UserPasswordEncoderInterface $passwordEncoder, CompanyUser $user): Response
{
$em = $this->getDoctrine()->getManager();
$user = $this->getUser();
$reset_password_form = $this->get('form.factory')->create(CompanyResetPasswordType::class, $user);
$reset_password_form->handleRequest($request);
if ($reset_password_form->isSubmitted() && $reset_password_form->isValid()) {
$this->passwordEncoder->isPasswordValid($this->getUser(), $request->get('password'));
$oldPassword = $request->request->get('reset_password')['oldPassword'];
// Si l'ancien mot de passe est bon
if ($passwordEncoder->isPasswordValid($user, $oldPassword)) {
$newEncodedPassword = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
$user->setPassword($newEncodedPassword);
$em->persist($user);
$em->flush();
$this->addFlash('notice', 'Succeed to change your password');
return $this->redirectToRoute('company_show', ['id' => $user->getCompany()->getId()]);
} else {
$reset_password_form->addError(new FormError('Old password is not valid'));
}
}
$edit_form = $this->createForm(CompanyUserType::class, $user);
$edit_form->handleRequest($request);
if ($edit_form->isSubmitted() && $edit_form->isValid()) {
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('company_show', ['id' => $user->getCompany()->getId()]);
}
return $this->render('user/edit.html.twig', [
'user' => $user,
'edit_form' => $edit_form->createView(),
'reset_password_form' => $reset_password_form->createView(),
]);
}
感谢您的帮助!
最佳答案
你可以像这样覆盖ParamConverter
/**
* @Route("/{id}/edit", name="company_user_edit", methods={"GET","POST"}, requirements={"id"="\d+"})
* @ParamConverter("id", class="CompanyUser", options={"id": "id"})
*/
关于php - "App\Entity\User object not found by the @ParamConverter annotation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55516176/
我在我的 Controller 中使用 symfony @ParamConverter 来通过它的 slug 获取一个实体,但我没有使用“findBySlug()”方法,而是使用了一个更具体的方法“f
我有几条以 /experiment/{id}/... 开头的路由,我厌倦了重写相同的逻辑来检索登录用户的实验。我想我可以重构我的代码,但我猜 @ParamConverter 会是更好的解决方案。 我将
我有一个类似的 Action : /** * @Security("is_granted('ROLE_USER_EDITOR')") * @Route("/{email}") * @Method
所以我想创建一个自定义ParamConverter在 jax-rs 中: public class IntParamConverter implements ParamConverter{ @
我正在使用 Jersey 版本 2.27 创建 Jersey 应用程序。 我的资源之一是使用 @QueryParam 读取查询参数值。 我正在创建 ParamConverter 和 ParamConv
这是我遇到的异常: No result was found for query although at least one row was expected. 当在数据库中找不到用户 ID 时,我基本
我做了一个 ParamConverter它提供了一个 Instant (日期)当给定一个格式化为 Instant 的 native ISO-8601 或自纪元以来的整数毫秒数的字符串时。这工作正常,但
每个标题,从 ParamConverter 抛出的异常没有按照我期望的方式处理。 使用 ExceptionMapper: @Provider public class MyExceptionMappe
我发现 Symfony4 具有类似的博客示例,如 https://symfony.com/doc/current/routing.html 中描述的然后我添加了一条新路线来添加/blog/about
我正在尝试使用 FOSRestBundle 的请求正文转换器,但我当前的实现似乎不起作用。 我正在使用 Symfony2、Propel、AngularJS(它将数据发送到服务器) 我做错了什么? co
我有一个 Controller ,它使用路由、方法、模板和 ParamConverter 的注释。 如果我在下一页加载时对文件进行任何更改(甚至是空格更改或注释),则会发生以下错误 Cannot im
当我尝试访问其中一个路由时出现问题,出现此错误:“@ParamConverter 注释找不到 App\Entity\CompanyUser 对象” 很多人都有同样的问题,但我能看到的解决方案都不能解决
问题仅出现在调试工具栏中。 这是我怀疑导致问题的代码 /** * @Route("/{category_slug}/{slug}", name="content_show") * @Par
是否可以使用 Symfony2 中的@ParamConverter 注释将通过 $_POST 请求发送的参数转换为实体? symfony2 文档中给出的所有示例都从路由中定义的参数转换实体。 设置类似
我有这个 Controller : /** * {@inheritdoc} * * @Route("entity/{domain_host}") * @ParamConverter("enti
我创建了一个名为 search.html.twig 的新边界类,但是当我转到 URL ( http://localhost:8000/shrubs/search) 时,出现以下错误: ERROR -
我需要使用 PUT 方法实现一个 API,我想在我的 Controller 中使用 ParamConverter 来查找现有实体对象,或者如果实体对象不存在,则创建一个新实体对象。 但是,如果在存储库
我编写了一个 ParamConverterProvider 和一个 ParamConverter,以便让 JAX-RS (Jersey) 在 HeaderParam 中实例化一个枚举。转换器看起来像这
我是一名优秀的程序员,十分优秀!