dongwuzun4630 2017-10-29 14:53
浏览 41
已采纳

插入symfony 3表

I need to make a simple insertion in the database,

Here is the code in the controller:

    public function verifCreateOrder(Request $req){
        $store = 1;
        $provider =2;
        $creation =  $creation_start = $req->get('creation_start');
        $delivery = $creation_start = $req->get('creation_start');

        $em = $this->getDoctrine()->getManager();

        $order = new OrderList();
        $order->setNumStore($store);
        $order->setNumProvider($provider);
        $order->setCreation($creation);
        $order->setDelivery($delivery);

        $em->persist($order);
        $em->flush();
        die();
        return $this->redirectToRoute('search.view');
    }

The code of the OrderList entity :

class OrderList
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var int
     *
     * @ORM\ManyToOne(targetEntity="Provider")
     * @ORM\JoinColumn(name="num_provider", referencedColumnName="id")
     */
    private $numProvider;

    /**
     * @var int
     *
     * @ORM\ManyToOne(targetEntity="Store")
     * @ORM\JoinColumn(name="num_store", referencedColumnName="id")
     */
    private $numStore;

    /**
     * @return int
     */
    public function getNumStore()
    {
        return $this->numStore;
    }

    /**
     * @param int $numStore
     */
    public function setNumStore($numStore)
    {
        $this->numStore = $numStore;
    }

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="creation", type="date")
     */
    private $creation;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="delivery", type="date")
     */
    private $delivery;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_update", type="date", nullable=true)
     */
    private $lastUpdate;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="emission", type="date", nullable=true)
     */
    private $emission;

    /**
     * @var int
     *
     * @ORM\Column(name="reduction_1", type="integer", nullable=true)
     */
    private $reduction1;

    /**
     * @var int
     *
     * @ORM\Column(name="reduction_2", type="integer", nullable=true)
     */
    private $reduction2;

    /**
     * @var string
     *
     * @ORM\Column(name="comment", type="string", nullable=true, length=255)
     */
    private $comment;

Here is the error returned by symfony:

Expected value of type "AppBundle\Entity\Provider" for association field "AppBundle\Entity\OrderList#$numProvider", got "integer" instead.

Please help me resolve this error.

  • 写回答

2条回答 默认 最新

  • doutuo1908 2017-10-29 15:42
    关注

    I am also new to php but, you set $provider to be a integer = 2, and your relation expect object Provider $provider.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗