从 Symfony 控制器中的值获取 Id

Posted

技术标签:

【中文标题】从 Symfony 控制器中的值获取 Id【英文标题】:Get Id from a value in a controller in Symfony 【发布时间】:2021-11-25 14:22:52 【问题描述】:

我要做的是从文件夹编号中获取一个 ID。 我的 ID 和我的文件夹号(文件夹号是唯一的)都在同一个控制器中。

我从文本输入中获取文件夹编号,然后我需要将用户重定向到页面 /Id。

我的问题是我应该如何处理它?

我需要在我的控制器中创建一个方法getIdFromFolderNumber(),然后在我的JS函数中调用这个函数吗? 或者我是否需要在 JS 函数中执行所有操作(我知道我需要一个 JS 函数,因为我将使用 AJAX 请求来重定向我的用户并从输入中获取值)。 p>

我不需要代码或任何东西,我只想知道我需要使用的方法来了解如何做到这一点。我已经开始从事一个非常大的项目,由于我是一名初级开发人员,所以我有点迷茫。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

你不需要任何 JS 来实现这一点。这是一个简单的表单和重定向。

一旦您提交了提供号码的表格:

$number = $form->get('number')->getData();

那么你就得到了你的学说要求的标准:

$id = $yourEntityRepository->findBy(['number' => $number)])->getId();

现在您有了重定向 ID:

return $this->redirectToRoute('entity_show', ['id' => $id]);

这就是你要找的吗?

注意:您不需要将 $number 和 $id 存储为变量。这只是为了说清楚。您可以在需要时将它们替换为实际请求。

【讨论】:

关于JS的使用我没有说清楚。我需要触发输入的重定向,这就是我需要 JS 的原因。但我找到了解决方案。我做了什么发出 GET 请求并返回包含 'url' => '$url' 的 JSON。

以上是关于从 Symfony 控制器中的值获取 Id的主要内容,如果未能解决你的问题,请参考以下文章

尝试获取关系中的数据时出现 Symfony 错误

Symfony 4,从控制器获取 .env 参数,是不是可能以及如何?

从控制器 Symfony2 中的 URL 获取参数

如何在 symfony2 中进行编辑功能

Symfony2 Assetic 从控制器内部获取资产 url,而不是模板

用javascript(Ajax)更新Symfony