1
我是Symfony的新手。我想創建一個博客網站。所以爲此我創建了兩個實體發佈和用戶。我想我也既涉及正常的在這裏描述的實體:Symfony主義:ManyToOne關係不起作用
http://symfony.com/doc/current/doctrine/associations.html
的appbundle /實體/ post.php中:
...
/**
* Post
*
* @ORM\Table(name="post")
* @ORM\Entity(repositoryClass="AppBundle\Repository\PostRepository")
*/
class Post
{ /**
* @ORM\ManyToOne(targetEntity="User", inversedBy="post")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
....
}
的appbundle /實體/ user.php的:
...
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
*/
class User extends BaseUser
{
/**
* @ORM\OneToMany(targetEntity="Post", mappedBy="user")
*/
private $post;
...
}
我成功地能夠使用其用戶標識(創建帖子的用戶)保存帖子。但我無法做到與此相反。即獲取用戶創建的所有帖子。我試圖實現它是這樣的:
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('AppBundle:User')->find($this->getUser()->getId());
dump($user->getPost());exit;
但我沒有得到任何職位的變量。 (僅供參考:數據庫中有用戶標識的帖子)。這裏是我得到上面:
PostController.php on line 163:
PersistentCollection {#103 ▼
-snapshot: []
-owner: User {#76 ▶}
-association: array:15 [ …15]
-em: EntityManager {#374 …11}
-backRefFieldName: "user"
-typeClass: ClassMetadata {#80 …}
-isDirty: false
#collection: ArrayCollection {#102 ▼
-elements: []
}
#initialized: false
}
注:我使用FosUserBundle用戶管理。不知道它是否在這裏解決問題。
任何幫助,將不勝感激。
感謝,
PARTH沃拉
你有沒有再生的實體? –
@MaxP。不,我沒有。 無論如何,問題已解決 –