使用Doctrine 2的吸气剂和二传手

时间:2013-10-21 09:18:22

标签: symfony doctrine-orm doctrine

我有一个实体,即Users。我想在Doctrine中创建这个实体的getter和setter,以便Doctrine可以读取它。

我怎么能这样做,有人能为我提供基本的例子吗?我是初学者

如何在此数据库表中插入数据?

这是我的用户实体

<?php
 /**
 * @Entity
 * @Table(name="users")
 * Total Number of Columns : 32
 */
class Users{

/* Attributes of Users */

     /** 
     * @Id 
     * @Column(type="integer") 
     * @GeneratedValue
     * @dummy
     * @Assert\NotEmpty
     */
       private $id;

     /** 
     * @Column(type="string")
     * @Assert\NotEmpty
     */
       private $name;


     /** 
     * @Column(type="string")
     * @Assert\NotEmpty
     */
       private $email;

}

?>

3 个答案:

答案 0 :(得分:7)

尝试使用此命令:

php app/console doctrine:generate:entities YourBundle:YourEntity

答案 1 :(得分:3)

例如,如果您想为email属性设置一个setter,您可以这样做:

public function setEmail($email)
{
    $this->email = $email;

    return $this;
}

public function getEmail()
{
    return $this->email;
}

第一个是setter(它在对象上设置email的值),第二个是getter(它从对象获取email的值)。希望有所帮助:)

答案 2 :(得分:2)

如果你懒得不为每个属性定义自己的方法,你可以使用魔术方法。

    public function __get($property)
    {
        return $this->$property;
    }
    public function __set($property,$value)
    {
        $this->$property = $value;
    }

最好通过

为每个属性创建一个方法
    public function getName()
    {
        return $this->name;
    }

    public function setName($name)
    {
        $this->name = $name;
    }

在这里查看答案Doctrine 2 Whats the Recommended Way to Access Properties?