Symfony Param converter(routing)将可选变量设置为应为null的某个值

Symfony Param converter(routing)将可选变量设置为应为null的某个值,symfony,Symfony,我有以下的路线声明 /** *@Route(“/{section}/entries/{entry}”,name=“entries\u list”) *@param Section$Section *@param Entry | null$Entry */ 公用函数条目\u列表(节$Section,条目$Entry=null) { dd(第节,$条目); } 当我输入以下url:/6/entries时,param converter将$entry变量设置为: App\Entity\Entry {

我有以下的路线声明

/**
*@Route(“/{section}/entries/{entry}”,name=“entries\u list”)
*@param Section$Section
*@param Entry | null$Entry
*/
公用函数条目\u列表(节$Section,条目$Entry=null)
{
dd(第节,$条目);
}
当我输入以下url:/6/entries时,param converter将
$entry
变量设置为:

App\Entity\Entry {#3987 ▼
  -id: 1
为什么它不是一个
null
?我没有将任何默认值设置为1<代码>$section变量设置正确


当我尝试输入url:/6/entries/0时,我已将
$entry
设置为
null
,因为数据库中没有此类记录。

这似乎是SensioFrameworkExtraBundle中的错误/不需要的行为

可以有许多
条目
DoctrineParamConverter
使用条件进行类搜索,并首先加载与id为
6的
相关的
条目
。但是,如果我在请求中显式地设置了
null
,则不会触发任何额外的搜索

要使其按预期工作,我需要强制该类仅按ID进行搜索:

*@Route(“/{id}/entries/{entry}”,name=“entries\u list”)
*@ParamConverter(“entry”,options={“id”:“entry”})