Я действительно новичок в Symfony, поэтому я извиняюсь в продвинутом, если это звучит глупо, и я буду очень признателен, если кто-то исправит мое понимание.создание нескольких отношений onetoMany в Sumfony 2.5
Я читаю о Databases and Doctrine, и, читая, я подумал, почему бы не создать приманное приложение для блога, чтобы практиковать.
Фиктивная блог приложение я работаю над очень просто, всего три таблицы и ее сущность
- пост (где посты блога идут) его
Entity
является Entity/Post.php, - комментарии (куда отправлять комментарии идут) его
Entity
является Entity/comments.php - категория (где почтовые категории идут) его
Entity
является Entity/Category.php.
Я могу получить сообщение/категорию/комментарии, чтобы сохранить, показать, обновить, удалить все, что работает нормально.
Теперь я работаю над тем, когда отображается блог, его категория отображается как число (идентификатор категории), поэтому я пытаюсь связать стол столбец с таблицей категорий, чтобы отображать название категории, а не число.
Вопрос 1, Поскольку сообщение также связано с таблицей комментариев, и мне нужно связать одну и ту же таблицу сообщений с таблицей категорий, можем ли мы сделать это внутри Entity/Post.php
?
class Post
{
/**
* @ORM\OneToMany(targetEntity="Comments", mappedBy="post")
*/
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="post")
* @ORM\JoinColumn(name="category", referencedColumnName="id")
*/
protected $comment;
protected $categories;
Если нет, то каков правильный способ обработки этих отношений?
Вопрос 2, Во время чтения "Fetching Related Objects", кажется, что я должен быть в состоянии получить категорию имя мое делает следующее
$posts = $this->getDoctrine()->getRepository('BlogBundle:Post')->findBy(array('category' => $id), array('id' => 'DESC'));
$category_name = $posts->getCategory();
, но это дает мне ошибку
Error: Call to a member function getCategory() on a non-object in
Я могу подтвердить, что этот метод getCategory()
существует в Post
субъекте
Я буду очень признателен за любую помощь здесь.
Спасибо за подтверждение того, что аннотации в порядке и исправления, что они должны быть на вершине собственности, я все еще чувствую, что что-то не так с аннотациями, поскольку у меня есть ощущение, что он не соединяется с двумя таблицами, я смотрю на свои mysql и я не вижу никакого внешнего ключа, я запускал 'php app/console doctrine: schema: update -force' после установки аннотаций – Baig
@Baig Я добавил классы для' Category' и 'Comment', возможно, теперь яснее ? – SBH
Спасибо, это устранило проблему с вопросом 1, однако я до сих пор неясно, в чем проблема с вопросом 2 – Baig