如何从数据库自动更新doctrine实体

时间:2014-06-07 00:19:42

标签: symfony doctrine

我创建了一个数据库并且我有了实体文件,我在表格中添加了一个新列,现在我如何更新Entity类并将getter ad setter添加到这个新元素中?

表中包含;用户标识,用户名,名字,密码 我添加了一个专栏" admin" (布尔值) 这是我的班级:用户:

<?php

namespace Login\LoginBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Redirect
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Login\LoginBundle\Entity\Users")
 */
class Users
{
    /**
     * @var string
     */
    private $userName;

    /**
     * @var string
     */
    private $firstName;

    /**
     * @var string
     */
    private $password;

    /**
     * @var integer
     */
    private $userid;

    /**
     * Set userName
     *
     * @param string $userName
     * @return Users
     */
    public function setUserName($userName)
    {
        $this->userName = $userName;

        return $this;
    }

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

    /**
     * Set firstName
     *
     * @param string $firstName
     * @return Users
     */
    public function setFirstName($firstName)
    {
        $this->firstName = $firstName;

        return $this;
    }

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

    /**
     * Set password
     *
     * @param string $password
     * @return Users
     */
    public function setPassword($password)
    {
        $this->password = $password;

        return $this;
    }

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

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


    }

1 个答案:

答案 0 :(得分:4)

generator bundle为您提供了通过app/console doctrine:generate:entity命令从一组字段生成实体的命令。

在内部,这可以通过使用模板文件根据您的输入创建新实体来实现。不幸的是,该工具还没有能力修改现有的类。

如果您愿意,可以在此处申请该功能:https://github.com/sensiolabs/SensioGeneratorBundle

但与此同时,您最好的选择之一是:

  1. 如果您尚未修改任何内容,则可以删除该文件并使用app/console doctrine:generate:entity重新创建该文件。
  2. 你可以自己添加字段,以及getter,setter和Doctrine配置,使用你看到的用于该类中其他字段的格式(说实话,这可能是更简单的方法)。