如何在{JMSPaymentCoreBundle提供的in the documentation示例中调用detailsAction()
?
它使用了一个order对象,它在函数定义中作为参数传递。
public function detailsAction(Order $order)
{
$form = $this->getFormFactory()->create('jms_choose_payment_method', null, array(
'amount' => $order->getAmount(),
[...]
我是否正确地假设该函数只能在调用时传递订单对象时才能工作?除了做
这样的事情之外,还有其他方法可以实现这一目标吗?return $this->forward('MyBundle:Payment:details', array(
'order' => $order,
));
答案 0 :(得分:1)
是的,你是对的。 detailsAction
需要Order
个对象才能工作。因此,您必须在执行此操作时创建一个,否则将抛出404错误(因为没有订单的路由不存在)。
您应该创建自己的Order
实体,然后您可以将其保留到数据库中(一旦启动,即提交的表单正确无误)。