Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带ParamConverter注释的Symfony4细枝路径_Php_Symfony_Url_Twig - Fatal编程技术网

Php 带ParamConverter注释的Symfony4细枝路径

Php 带ParamConverter注释的Symfony4细枝路径,php,symfony,url,twig,Php,Symfony,Url,Twig,我有一个带有ParamConverter注释的控制器,它工作正常: /** * @Route("/pro/{uniqid}") * @ParamConverter("company", options={"mapping":{"uniqid" = "uniqid"}}) * Class AdminController * @package App\Controller */ class AdminController extends Controller {} 在我的内部,我有一个带有另一个P

我有一个带有
ParamConverter
注释的控制器,它工作正常:

/**
* @Route("/pro/{uniqid}")
* @ParamConverter("company", options={"mapping":{"uniqid" = "uniqid"}})
* Class AdminController
* @package App\Controller
*/
class AdminController extends Controller
{}
在我的内部,我有一个带有另一个
ParamConverter
注释的方法:

/**
 * @Route("/admin/{user-uniqid}/edit", name="edit-user")
 * @ParamConverter("user", options={"mapping":{"user-uniqid" = "uniqid"}})
 * @param Company $company
 * @param User $user
 * @return \Symfony\Component\HttpFoundation\Response
 */
public function editUser(Company $company, User $user){}
Bu在
Twig
中,当我使用
path
时,如下所示:

<a href="{{ path('edit-user', {'uniqid' : company.uniqid, 'user-uniqid' : permission.user.uniqid}) }}">Edit</a>
它创建了以下链接:

http://symfony/pro/cie5aee957cc7a6d/admin/%7Buser-uniqi%7D/edit?user-uniqid=user-5aee93691d3a6

我无法解释为什么
{user uniqid}
没有正确填写,以及为什么创建了一个新的查询参数

我遇到了一个类似的问题,我通过在变量名中用下划线替换连字符来解决它

试试这个:

/**
 * @Route("/admin/{user_uniqid}/edit", name="edit-user")
 * @ParamConverter("user", options={"mapping":{"user_uniqid" = "uniqid"}})
 * ...
 */

愚蠢的问题,但是你的代码片段在路由中有一个输入错误:
{user uniqi}
最后一个字母丢失了。这是一个实际的错误还是复制粘贴的问题?是的,对不起,复制/粘贴错误。我编辑了我的帖子。我想知道文档中是否注意到这种奇怪的行为。非常感谢你,我爱你。
/**
 * @Route("/admin/{user_uniqid}/edit", name="edit-user")
 * @ParamConverter("user", options={"mapping":{"user_uniqid" = "uniqid"}})
 * ...
 */