我有一个问题。
我有2个实体
/**
* @ORM\Entity
* @ORM\Table(name="call_center")
*/
class Call {
/**
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Id
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="Number", mappedBy="number")
* @ORM\Column(type="string")
*/
private $number;
/**
* @ORM\Column(type="string")
*/
private $value;
......
getters setters
/**
* @ORM\Entity
* @ORM\Table(name="number")
*/
class Number {
/**
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Id
* @ORM\Column(type="integer")
*
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Call", inversedBy="number")
* @ORM\JoinColumn(nullable=false)
*/
private $number;
/**
* @ORM\Column(type="string")
*/
private $link;
我想在控制器中显示我的数据。 这是我的控制器
class DefaultController extends Controller
{
/**
* @Route("/pl/", name="homepage")
*/
public function indexAction(Request $request)
{
$em = $this->getDoctrine()->getRepository('AppBundle:Call')->findAll();
foreach ($em as $name) {
switch(1) {
case $name->getNumber():
echo $name->getValue();
echo $name->getLink(); <----PROBLEME
break;
default:
break;
}
}
return $this->render('default/index.html.twig', array(
'em' => $name
));
}
}
显示实体调用的数据,但我不知道如何从Number(getLink())中显示数据。问题是我有一个循环,我必须显示特定的值关系。可能我必须为实体创建存储库?
Entity Call
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set number
*
* @param string $number
*
* @return Call
*/
public function setNumber($number)
{
$this->number = $number;
return $this;
}
/**
* Get number
*
* @return string
*/
public function getNumber()
{
return $this->number;
}
/**
* Set value
*
* @param string $value
*
* @return Call
*/
public function setValue($value)
{
$this->value = $value;
return $this;
}
/**
* Get value
*
* @return string
*/
public function getValue()
{
return $this->value;
}
entity Number
/**
* Set number
*
* @param \AppBundle\Entity\Call $number
*
* @return Number
*/
public function setNumber(\AppBundle\Entity\Call $number)
{
$this->number = $number;
return $this;
}
/**
* Get number
*
* @return \AppBundle\Entity\Call
*/
public function getNumber()
{
return $this->number;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set link
*
* @param string $link
*
* @return Number
*/
public function setLink($link)
{
$this->link = $link;
return $this;
}
/**
* Get link
*
* @return string
*/
public function getLink()
{
return $this->link;
}
答案 0 :(得分:1)
您是否尝试通过$name->getNumber()->getLink()
访问它?
如下所示,通过tny,您应该修复注释,否则上述操作将无效,因为getNumber()当前正在返回字符串而不是Number实例
答案 1 :(得分:1)
也许你有一个字符串,因为你告诉学说放一个字符串?
从您的关系中删除以下注释:
@ORM\Column(type="string")