Function 如何在具有两个参数的数组上调用成员函数?

Function 如何在具有两个参数的数组上调用成员函数?,function,symfony,doctrine,entity,Function,Symfony,Doctrine,Entity,在我的控制器中: $relationEntity = $this->getDoctrine()->getRepository(Data::class)->findPosition($dataId,$documentId); $relationEntity->setContent("hello"); 在我的存储库中: public function findPosition($dataId,$documentId) { return $this->c

在我的控制器中:

$relationEntity  = $this->getDoctrine()->getRepository(Data::class)->findPosition($dataId,$documentId);
$relationEntity->setContent("hello");
在我的存储库中:

  public function findPosition($dataId,$documentId) {

    return $this->createQueryBuilder('data')
                    ->leftJoin('data.documents', 'dd')
                    ->andWhere('dd.uuid = :documentId')
                    ->andWhere('data.document_id = :dataId')
                    ->setParameter('documentId', $documentId)
                    ->setParameter('dataId', $dataId)
                    ->getQuery()
                    ->execute();
}
我收到错误消息:

对数组上的成员函数setContent()的调用

我知道它将与
findOneby
一起工作,但是我无法通过两个参数找到要编辑的条目。因此,我不确定现在该怎么办。

如果使用,则应返回getResult()istead of execute,请尝试以下操作:

    $datas = $this->createQueryBuilder('data')
                    ->leftJoin('data.documents', 'dd')
                    ->andWhere('dd.uuid = :documentId')
                    ->andWhere('data.document_id = :dataId')
                    ->setParameter('documentId', $documentId)
                    ->setParameter('dataId', $dataId)
                    ->getQuery()
                    ->getResult();
    return $datas[0];

如果确定查询只返回一行,则可以返回第一个结果。

我找到了解决方案:

foreach ($relationEntity as $r) {
     $r->setContent("hello");
}

Var_转储变量,看看下一步可以做什么。我试过了,但没有输出输出是空的。谢谢!我测试了它,仍然
调用数组上的成员函数setContent()
@monkeylove我在答案中更改了return,但请确保只返回一行