В эти дни я занята Доктриной.но я запутался в ассоциациях.в то время как я определяю сущность, к сожалению, я не могу сделать связи между ними в двух таблицах.one2many, many2one или что-либо еще.
Я прочитал документ о сопоставлении ассоциаций на веб-сайте .и я так растерялся.
Я хочу сделать простой пример.Пожалуйста, помогите мне!
здесь мы идем!
У меня есть две таблицы.Один из них - пользователи , а другой - комментарии .Я знаю, что это очень просто, но все для моей выгоды.
users Таблица содержит три столбца: ID , name , comment_id .
комментарии таблица содержит id и comment_text столбцы.(я думаю, проблема здесь)
и теперь, когда мои users.php file
/** @Entity @Table(name="users") */
class User{
/** @Id @GeneratedValue @Column(type="integer") */
private $id;
/** @Column(name="name", length=55, type="string") */
private $name;
/**
* @OneToMany(targetEntity="Comment", mappedBy="author")
*/
private $commentID;
public function addComment($comment){
$this->commentID[] = $comment;
}
public function setName($new){
$this->name = $new;
}
public function getName(){
return $this->name;
}
public function __construct()
{
$this->commentID = new Doctrine\Common\Collections\ArrayCollection();
}
}
и comments.php file
/** @Entity @Table(name="comments") */
class Comment{
/** @Id @GeneratedValue @Column(name="author", type="integer")
* @ManyToOne(targetEntity="User", inversedBy="commentID")
*/
private $author;
/** @Column(name="comment_text", type="text") */
private $commentText;
public function setAuthor($author)
{
$author->addComment($this);
$this->author = $author;
}
public function setComment($new){
$this->commentText = $new;
}
public function getComment(){
return $this->commentText;
}
}
вот и все.Я хочу вставить, выбрать, обновить и удалить элементы в двух таблицах.
$person = new User();
$person->setName('Jack Sparrow');
$comment = new Comment();
$comment->setComment('Hello pirates !');
$comment->setAuthor($person);
$em->persist($person);
$em->persist($comment);
$em->flush();
этот код работает хорошо, но значение столбца comment_id всегда равно нулю = 0 в таблице пользователей .Я думаю, что я где-то сильно ошибаюсь.
Помогите, где я не прав!
С уважением ....