エンティティをデータベースに挿入する方法について質問があります。Doctrine 2.1 - エンティティの挿入
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;
}
}
私は(彼らが元UserModel.phpとNewsModel.phpのために、別々のファイルにしている場合)の両方User
とNews
クラスを含める必要があり、新しいニュースを追加し、コードを書くこと:私は2つのモデルを持っている
$news = new News()
$news->setTitle('TEST title');
$news->setAuthor($database->find('User', 1));
$database->persist($news);
私の質問は:User
クラスを含まないでニュースを挿入する方法はありますか?
あなたはニュースがユーザーを持ってはならないという意味でユーザーなしのニュースを作成するにはどうすればいいですか? – hakre
私は、Userオブジェクト全体ではなく、UserというIDだけを与えることができるということを意味しました。例えば、 '$ news-> setAuthor(1);'または 'INSERT INTO News VALUES( 'TEST title'、1);' –