学说2问题

时间:2016-02-04 18:51:30

标签: php doctrine

我正在尝试学习框架Doctrine 2.我在MySQL中有一个Model并在Doctrine中实现它。在实现两个类Task和Dropdown列表之间的依赖关系后,它不会运行。

我的代码是:

<?php
use Doctrine\Common\Collections;
use Doctrine\ORM\Mapping AS ORM;

/**
 * Task
 *
 * @Table(name="task")
 * @Entity
 */
class Task
{
    /**
     * @var integer
     *
     * @Column(name="ID", type="integer", nullable=false)
     * @Id
     * @GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var Dropdownlist
     * @ORM\OneToMany(targetEntity="Dropdownlist", mappedBy="tasks")
     * @ORM\JoinColumn(name="priority", referencedColumnName="id")
     */
    protected $priority;

    /**
     * @var string
     *
     * @Column(name="Label", type="string", length=45, nullable=true)
     */
    private $label;



    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set priority
     *
     * @param integer $priority
     *
     * @return Task
     */
    public function setPriority($priority)
    {
        $this->priority = $priority;
        return $this;
    }

    /**
     * Get priority
     *
     * @return integer
     */
    public function getPriority()
    {
        return $this->priority;
    }

    /**
     * Set label
     *
     * @param string $label
     *
     * @return Task
     */
    public function setLabel($label)
    {
        $this->label = $label;

        return $this;
    }

    /**
     * Get label
     *
     * @return string
     */
    public function getLabel()
    {
        return $this->label;
    }
}



/**
 * Dropdownlist
 *
 * @Table(name="dropdownlist")
 * @Entity
 */
class Dropdownlist
{
    /**
     * @var integer
     *
     * @Column(name="ID", type="integer")
     * @Id
     * @GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @Column(name="PriorityLabel", type="string", length=45, nullable=true)
     */
    private $prioritylabel;


    /*
     * @var ArrayCollection
     * @ORM\ManyToOne(targetEntity="Task", inversedBy="priority")
     */
    protected $tasks;


    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set prioritylabel
     *
     * @param string $prioritylabel
     *
     * @return Dropdownlist
     */
    public function setPrioritylabel($prioritylabel)
    {
        $this->prioritylabel = $prioritylabel;

        return $this;
    }

    /**
     * Get prioritylabel
     *
     * @return string
     */
    public function getPrioritylabel()
    {
        return $this->prioritylabel;
    }

    public function getTasts(){
        return $this->tasks;
    }

    public function __construct()
    {
    }
}

问题:

数据库架构与当前映射文件不同步。 是什么原因? 问题在哪里?

祝你好运

1 个答案:

答案 0 :(得分:0)

这意味着您的数据库与您当前的映射不同步。 运行doctrine:schema:update --complete --dump-sql以查看需要进行哪些更改。您还可以运行doctrine:schema:update --complete --force直接部署更改。