0

データベース テーブルに新しいレコードを挿入しようとしましたが、これによりテーブル内のレコードが置き換えられ続けます。(現在、このテーブルには単一のレコードがあります)。理由はありますか?これが私のクエリです:

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();
}  

はい、私は次のことを試しました(実験()はエンティティです):

$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 です。

4

1 に答える 1