我之前一直在寻找这个问题的答案,但是几小时后我需要问你。
我有一个名为Pedidos的实体,它有另一个相关实体叫做PedidosMateriales,你可以看到:
(...)
/**
* Pedidos
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="ochodoscuatro\IntranetBundle\Entity\PedidosRepository")
*/
class Pedidos
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
(...)
/**
* @ORM\OneToMany(targetEntity="PedidosMateriales", mappedBy="pedido")
*/
private $pedidosmateriales;
public function __construct() {
$this->pedidosmateriales = new \Doctrine\Common\Collections\ArrayCollection();
$this->pagos = new \Doctrine\Common\Collections\ArrayCollection();
}
public function addPedidosmateriales(\ochodoscuatro\IntranetBundle\Entity\PedidosMateriales $pedidosmateriales){
$this->pedidosmateriales[] = $pedidosmateriales;
}
public function getPedidosmateriales(){
return $this->pedidosmateriales;
}
(...)
}
当我提交表格时,如果我收到$ _POST,我可以看到所有信息都很好,但是在做完之后
$form->handleRequest($request);
我收到此错误:
属性" pedidosmateriales"也没有其中一种方法" addPedidosmaterial()"," addPedidosmateriale()"," setPedidosmateriales()"," __ set()&# 34;或" __ call()"在课堂上存在且具有公共访问权限" ochodoscuatro \ IntranetBundle \ Entity \ Pedidos"。
但是我已经写好了!
我已经用"多个" =>是的,我可以得到答案,但它会发出另一个错误,告诉选项" multiple"不存在。
我的表格是:
$builder->add('fechapedido', 'date', array(//Fecha del pedido
'widget' => 'single_text',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'datepicker'),
'data' => new \DateTime() //Valor (Fecha actual)
))
->add('cliente', 'entity', array(
'class' => 'ochodoscuatroIntranetBundle:Clientes',
'property' => 'nombre',
'empty_value' => 'Nombre cliente'))//Nombre del "placeholder"
->add('pedidosmateriales', 'collection', array('type' => new PedidosMaterialesType(), 'allow_add' => true, 'by_reference' => false,));
}