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,但请确保只返回一行