0
我的數據庫中有一個用戶表和一個作業標題表。Symfony 3 - 使用ManyToOne和OneToMany並檢索數據
我已經設置了一個用戶實體和一個JobTitle實體。
在我的用戶實體我有:
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\JobTitle", inversedBy="users")
* @ORM\JoinColumn(name="job_title_id", referencedColumnName="id")
*/
public $jobTitle;
在我JOBTITLE實體我有:
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\User", mappedBy="jobTitle")
*/
private $users;
下面是用戶表設置示例:
job_title_id | Username
1 | jdoe
這裏作業標題表中的示例設置:
id | job_title
1 | Owner
當我創建用戶時,按預期將所有內容都輸入到數據庫中。
我的問題是在我的用戶列表頁面中顯示實際的職位。
這裏是我的控制器:
/**
* @Route("/users", name="users")
*/
public function listAction()
{
$loggedInUser = $this->getUser();
$users = $this->get('fos_user.user_manager')->findUsers();
if (!is_object($user) || !$user instanceof UserInterface) {
throw new AccessDeniedException('This user does not have access to this section.');
}
return $this->render('users/users.html.twig', array(
'user' => $loggedInUser,
'users' => $users,
));
}
在我的樹枝模板我試圖用{{user.jobTitle}},但我得到一個轉換爲字符串錯誤這是有道理的,但我沒有想法如何讓實際的職位名稱顯示在樹枝頁面中。
如果您需要更多信息,請讓我知道。
如何使用users表中的job_title_id檢索職位名稱?
你剛從一個巨大的頭痛救了我。我需要這樣寫''{{user.jobTitle.jobTitle}}'我應該在這裏使用更好的命名,但它的工作原理! – iamthestreets
很高興你的工作! –