我试图在数据库表中插入一条新记录,而不是不断替换表中的记录。(目前我在这个表中有一条记录)。任何想法为什么?这是我的查询:
public function setExperimentData($name, $type, $description) {
$updateQuery = $this->repository->createQueryBuilder('ud')
->update()
->set('ud.name', $this->em->createQueryBuilder()->expr()->literal($name))
->set('ud.type', $this->em->createQueryBuilder()->expr()->literal($type))
->set('ud.description', $this->em->createQueryBuilder()->expr()->literal($description))
->getQuery();
$updateQuery->execute();
}
是的,我尝试了以下方法(Experiments() 是实体):
$experiment = new Experiments();
$experiment->setName($experimentName);
$experiment->setDescription($experimentDescription);
$experiment->setPrimaryinvestigator($primaryInvestigator);
然后我收到以下错误:
可捕获的致命错误:传递给 Test\HelloBundle\Entity\Experiments::setPrimaryinvestigator() 的参数 1 必须是 Test\HelloBundle\Entity\Users 的实例
这是我在实体类中为主要调查员设置的设置器:
public function setPrimaryinvestigator(\Test\HelloBundle\Entity\Users $primaryinvestigator = null)
{
$this->primaryinvestigator = $primaryinvestigator;
return $this;
}
我究竟做错了什么?
更新:
它是一个整数传递。E,g, 1 是 PrimaryInvestigator 的 id。