-1
我想查找連接的字段名稱,但找不到如何獲取它。我有這樣的場景。我有2個用戶和角色的表。在用戶實體中有Roles字段,它是一個集合。我需要一個獲取參數相關對象(角色)的方法,並且它必須返回作爲用戶外鍵的role_id。我沒有找到任何方法。學說2獲取連接字段名稱
我想查找連接的字段名稱,但找不到如何獲取它。我有這樣的場景。我有2個用戶和角色的表。在用戶實體中有Roles字段,它是一個集合。我需要一個獲取參數相關對象(角色)的方法,並且它必須返回作爲用戶外鍵的role_id。我沒有找到任何方法。學說2獲取連接字段名稱
假設你的實體聲明如下:
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\ManyToMany(targetEntity="Role")
*/
private $roles;
/**
* @return \Doctrine\Common\Collections\Collection
*/
public function getRoles()
{
return $this->roles;
}
// Other fields and methods
// ...
}
/**
* @ORM\Entity
*/
class Role
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @return integer
*/
public function getId()
{
return $this->id;
}
// Other fields and methods
// ...
}
您可以撥打Collection#map()
檢索的ID:
$user = $this->getUser();
$roleIDs = $user->getRoles()->map(function (Role $role) {
return $role->getId();
});
另一種選擇是使用學說的連接來獲取原始結果。
我不需要id,我需要外鍵的列名。我在「角色ID」我必須獲得。 @Florent – GirginSoft