Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
班级';条令\ORM\PersistentCollection';在链配置的命名空间中找不到_Orm_Doctrine Orm_Zend Framework2 - Fatal编程技术网

班级';条令\ORM\PersistentCollection';在链配置的命名空间中找不到

班级';条令\ORM\PersistentCollection';在链配置的命名空间中找不到,orm,doctrine-orm,zend-framework2,Orm,Doctrine Orm,Zend Framework2,我正在Zend Framework 2项目中使用条令2 ORM。 我正在努力坚持一种多对多的关系。我遵循了所描述的文档(很多)。 尝试持久化数据时:$em->persist($form->getData())我得到了错误: "The class 'Doctrine\ORM\PersistentCollection' was not found in the chain configured namespaces". 有什么建议吗 为了更清楚,我在下面添加了一些代码: 首先,我对实体进行了注释,

我正在Zend Framework 2项目中使用条令2 ORM。 我正在努力坚持一种多对多的关系。我遵循了所描述的文档(很多)。 尝试持久化数据时:
$em->persist($form->getData())我得到了错误:

"The class 'Doctrine\ORM\PersistentCollection' was not found in the chain configured namespaces".
有什么建议吗

为了更清楚,我在下面添加了一些代码:

首先,我对实体进行了注释,如文档所述,用于多对多关系:

 /**
 * @ORM\ManyToMany(targetEntity="\User\Entity\Client", mappedBy="reportSettings")
 */
private $client;

public function __construct() {
    $this->client = new ArrayCollection();
}

在控制器中

$form = new UpdateReportSettingsForm();

    $form->bind($reportSettings);

    $request = new Request();

    if ($request->isPost()) {
        $form->setData($request->getPost());

        if ($form->isValid()) {
         $data = $form->getData();
          $em->persist($data); // here I got the error - The class 'Doctrine\ORM\PersistentCollection' was not found in the chain configured namespaces
          $em->flush();
}

我还以doctriemodule\form\Element\ObjectMultiCheckbox的形式使用。
一个简单的
var\u dump($data)
-返回一个持久的集合。

您是否在映射的实体的开头添加了这段代码

use Doctrine\Common\Collections\ArrayCollection;

出现错误是因为表单定义不正确。正确的方法是如何建立我在这里建立的多对多关系-

如果您能向我们展示代码,就更容易给您一个合理的答案。我添加了一些代码。如果还不够,请告诉我,我会添加更多。发布完整的实体,错误只是告诉您的名称空间没有提到包含的类,这有点模糊。好吧,您需要保留的是您的客户端实体,而不是数据。因此,获取实体
$client=newclient()检查表单是否已提交且表单是否有效,然后获取数据
$data=$form->getData()
设置客户端实体上的值,并将reportSetting实体添加到客户端实体和最终持久化客户端实体
$em->persist($client)希望这有帮助!!!我遵循了这个教程-。所以,在本教程中,如果表单定义正确,并且使用集合定义了条令实体,则不需要设置dat。对于多对多-ZF2和条令2,有什么好的例子吗?我遵循了一些不同的东西,不是从一个具体的例子,我在实体中有setter和getter来设置和获取值。当然已经有一段时间了,但是您是否设法使其正确工作?如果是,请提供解决方案。它将对其他人有用
use Doctrine\Common\Collections\ArrayCollection;