【发布时间】:2012-01-02 16:29:22
【问题描述】:
我对将实体插入数据库有疑问。我有两个模型:
class News {
/**
* @Column(type="string", length=100)
* @var string
*/
protected $title;
/**
* @ManyToOne(targetEntity="User", inversedBy="news")
* @JoinColumn(referencedColumnName="id")
*/
protected $author;
}
class User {
/**
* @Id @GeneratedValue @Column(type="integer")
* @var integer
*/
protected $id;
/**
* @OneToMany(targetEntity="News", mappedBy="author")
*/
protected $news;
public function __construct() {
$this->news = new \Doctrine\Common\Collections\ArrayCollection;
}
}
要添加新新闻,我必须同时包含 User 和 News 类(如果它们位于单独的文件中,例如 UserModel.php 和 NewsModel.php)并编写代码:
$news = new News()
$news->setTitle('TEST title');
$news->setAuthor($database->find('User', 1));
$database->persist($news);
我的问题是:有没有什么方法可以在不包含User 类的情况下插入新闻?
【问题讨论】:
-
你的意思是:如何在没有用户的情况下制作新闻?
-
我的意思是,我只能给出用户的 ID 而不是整个用户对象。例如。比如
$news->setAuthor(1);或INSERT INTO News VALUES ('TEST title', 1);
标签: php doctrine doctrine-orm