我正在尝试使用我的一个实体类和一个存储库类从symfony2和doctrine中的数据库中获取一个对象。
这是函数调用:
$game = $em->getRepository('MLBPBeerBundle:TableGame')->findBygameId($gid);
$game.setZoneTableid('20');
以下是我的存储库类的片段:
class TableGameRepository extends EntityRepository
{
public function findBygameId($gid)
{
return $this->getEntityManager()
->createQuery('SELECT g FROM MLBPBeerBundle:TableGame g WHERE g.gameId = ' . $gid)
->getSingleResult();
}
这是我的实体类的片段:
/**
* MLBP\BeerBundle\Entity\TableGame
*
* @ORM\Table(name="table_game")
* @ORM\Entity(repositoryClass="MLBP\BeerBundle\Repository\TableGameRepository")
*
*/
class TableGame
{
/**
* @var TableTable
*
* @ORM\ManyToOne(targetEntity="TableTable")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="ZONE_TABLEID", referencedColumnName="TABLE_ID")
* })
*/
protected $zoneTableid;
/**
* Set zoneTableid
*
* @param MLBP\BeerBundle\Entity\TableTable $zoneTableid
*/
public function setZoneTableid(\MLBP\BeerBundle\Entity\TableTable $zoneTableid)
{
$this->zoneTableid = $zoneTableid;
}
这是我的错误消息:
调用未定义的函数MLBP \ BeerBundle \ Controller \ setZoneTableid() 谢谢!
答案 0 :(得分:1)
请务必使用 - >运算符而不是。运营商。此外,对于此特定示例,您不能将'20'设置为zoneId,因为它不是表示TableTable的实体。
$game->setZoneTableid(<Some Table Entity>);