Как сохранить Doctrine2 Entity - PullRequest
       11

Как сохранить Doctrine2 Entity

3 голосов
/ 09 сентября 2011

Как сохранить сущность Doctrine2, если все поля являются закрытыми? Есть ли какой-то механизм для этого?

Как я могу сохранить это:

/**
 * @Entity
 */
class SomeEntity
{
    /** @Id @Column(type="integer") @GeneratedValue */
    private $id;

    /** @Column */
    private $title;

}

Как изменить title например? Может быть, это возможно через EntityManager?

PS: спасибо заранее

Ответы [ 3 ]

9 голосов
/ 09 сентября 2011
class SomeEntity
{
    /** @Id @Column(type="integer") @GeneratedValue */
    private $id;

    /** @Column */
    private $title;

    public function setTitle($title){
        $this->title = $title;
    }
}

используйте так:

$entity = new SomeEntity();
$entity->setTitle('title');
$em->persist($entity); //$em is an instance of EntityManager
$em->flush();

Это правильный способ.Доктрины полезны, если мануалы не читать.:)

1 голос
/ 01 июня 2012

Как уже отмечалось, вы должны определить геттеры и сеттеры.Вы можете сделать это вручную или на консоли:

php app/console doctrine:generate:entities Acme/StoreBundle/Entity/SomeEntity
1 голос
/ 24 января 2012
public function __get($property)
{
    return $this->$property;
}

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