在我的控制器中,我为一项操作设置了多个路由。
它们都需要相同的内容,但是使用不同的URL。
其中一条路线没有参数,而第二条路线有1个参数。
因此,我的自定义查询会根据参数是否存在进行更改。
如果可能的话,我想用SELECT B.NAME as BRANCH,
COALESCE(BP2.NAME, BP.NAME) as REGION_NAME
FROM CTE B LEFT JOIN
CTE BP
ON B.PARENTID = BP.ID LEFT JOIN
CTE BP2
ON BP.PARENTID = BP2.ID AND BP2.DESCRIPTION = 'REGION'
WHERE B.DESCRIPTION = 'BRANCH';
和@Entity
来处理它,而不是使用几乎相同的代码来执行两个不同的动作。
如果路线为expr
,则此处的目标是执行custonQuery({isAccueil: true}
,
否则,如果路由为salle_home
,则为customQuery({salle: id})
是否可以根据路线使用其他表达式?
salle_show
答案 0 :(得分:0)
我认为您应该遵循Nicolai的建议。
如果不这样做,则可以尝试使用ParamConverter
,它是@Entity
批注的快捷方式。
我想-但没有尝试过-当路由中id
不匹配时,命名参数(在您的情况下为Salle
)会忽略id
实体。