【发布时间】:2018-10-27 04:45:03
【问题描述】:
我想在NumberType 字段中输入一个数字,但是当我得到这个异常时:
关联字段“GestionBundle\Entity\Intervention#$materialCost”的“GestionBundle\Entity\MaterialCost”类型的预期值,改为“double”。
干预
namespace GestionBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\OneToOne;
/**
* @ORM\Entity
*/
class Intervention
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="comments", type="text", nullable=true)
*/
private $comments;
/**
* One Intervention has One materialCost.
* @OneToOne(targetEntity="MaterialCost", inversedBy="intervention", cascade={"persist"})
*/
private $materialCost;
public function __toString() {
if (is_null($this->comments)) {
return '';
}
return $this->comments;
}
}
材料成本
namespace GestionBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class MaterialCost
{
/*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var float
* @ORM\Column(name="material_cost", type="float")
*/
private $materialCost;
/**
* @ORM\OneToOne(targetEntity="Intervention", mappedBy="materialCost")
*/
private $intervention;
public function __toString() {
return (string) $this->materialCost;
}
}
干预类型
namespace GestionBundle\Form;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class InterventionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('materialCost', NumberType::class, ['required' => true])
->add('comments', TextareaType::class, ['required' => false])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'GestionBundle\Entity\MaterialCost'
));
}
}
【问题讨论】:
-
表名
material_cost和字段相同material_cost,请尝试将字段名更改为另一个。 -
感谢您的回复,但与其他字段相同
标签: symfony doctrine-orm symfony-forms doctrine-mapping