我有<?php
header('Content-Type: application/json');
echo '{"name":"darian","lastname":"brown","age":87,"adress":{"21 somewhere street","my city","Australia"}}';
?>
服务,其中传递Cart
。它稍后保存到会话中。它看起来像是:
ProductOrder
这不是实体!但我想最终验证(class Cart
{
/**
* @var ProductOrder array
*/
private $orders = array();
/**
* @param ProductOrder $order
*/
public function addOrder(ProductOrder $order)
{
$this->orders[] = $order;
}
/**
* @param ProductOrder $order
*/
public function removeOrder(ProductOrder $order)
{
$this->orders = array_filter($this->orders, function($item) use($order) {
return $item->getProduct()->getId() != $order->getProduct()->getId();
});
}
/**
* @return ProductOrder array
*/
public function getOrders()
{
return $this->orders;
}
}
约束)数据库中是否有足够的Callback
Product
。这是我的确认表格:
ProductOrder
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('orders', 'collection', array(
'label' => false,
'type' => new ProductOrderType(),
))
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Service\Cart'
));
}
只有数量字段。这是对这种形式的看法:
ProductOrderType
我想用它的数量渲染所有 <form method="post">
{% for order in form.orders %}
{{ order.vars.data.product.name }} {{ form_widget(order) }}<br />
{% endfor %}
{{ form_widget(form._token) }}
<input type="submit" value="{{ 'entity.productOrder.buy'|trans }}">
</form>
,并且找不到更好的方法,但我不认为这是正确的方法。另外:我不知道如何向此表单添加ProductOrder
约束 - 因为在我看来,单独的Callback
文件仅保留给实体。
请注意,我不想使用第三方套装。