Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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
Php 与FOS用户的实体关联_Php_Symfony_Doctrine Orm - Fatal编程技术网

Php 与FOS用户的实体关联

Php 与FOS用户的实体关联,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在尝试创建从实体“条目”到实体FosUserUser的关联。 我在数据库中创建了表项,并与fos_用户建立了关系,然后通过以下方式生成实体: php应用程序/控制台原则:映射:导入AcmeDemoBundle注释 php应用程序/控制台原则:生成:实体AcmeDemoBundle 快捷方式中生成的实体: /** * Entries * * @ORM\Table(name="entry", indexes={@ORM\Index(name="user_id", columns={"use

我正在尝试创建从实体“条目”到实体FosUserUser的关联。 我在数据库中创建了表项,并与fos_用户建立了关系,然后通过以下方式生成实体: php应用程序/控制台原则:映射:导入AcmeDemoBundle注释 php应用程序/控制台原则:生成:实体AcmeDemoBundle

快捷方式中生成的实体:

/**
 * Entries
 *
 * @ORM\Table(name="entry", indexes={@ORM\Index(name="user_id", columns={"user_id"})})
 * @ORM\Entity
 */
class Entry {
 .............

 /**
 * @var \FosUserUser
 *
 * @ORM\ManyToOne(targetEntity="FosUserUser")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 * })
 */
private $user;

/**
 * Set user
 *
 * @param \Acme\DemoBundle\Entity\FosUseUser $user
 */
public function setUser(\Acme\DemoBundle\Entity\FosUseUser $user = null)
{
    $this->user = $user;
    return $this;
}
}
条令使用setUser(\Acme\DemoBundle\entity\Entry$user=null)生成实体,我将其更改为setUser(\Acme\DemoBundle\entity\FosUseUser$user=null)

现在我正在尝试创建对象条目 公共函数addEntryAction(){

问题是Symfony与我的实体不匹配,并且响应错误 在关联Acme\DemoBundle\entity\entity\Entry\Entry#用户上找到Acme\DemoBundle\entity\FosUserUser类型的实体,但应为Acme\DemoBundle\entity\Entry

是正确创建的关联还是问题出在哪里?

好的,我解决了。 是另一个条令配置文件src/Acme/DemoBundle/Resources/config/doctor/Entry.orm.xml,关系为:

<many-to-one field="user" target-entity="Entry"> //should be target-entity="FosUserUser"
  <join-columns>
    <join-column name="user_id" referenced-column-name="id"/>
  </join-columns>
</many-to-one>
//应该是target entity=“FosUserUser”

在您没有复制到此处的代码中的某个地方,有一个方法的变量声明没有从Acme\DemoBundle\Entity\Entry更改为Acme\DemoBundle\Entity\FosUseUser。
\Acme\DemoBundle\Entity\FosUseUser
类,但类型提示为
FosUseUser,对吗类在
setUser
方法中..在类条目中声明还不够吗?/***@var\FosUserUser**@ORM\manytone(targetEntity=“FosUserUser”)*@ORM\JoinColumns({*@ORM\JoinColumn(name=“user_id”,referencedColumnName=“id”)*/private$user;我的条目实体@xurshid29 FosUserUser类
<many-to-one field="user" target-entity="Entry"> //should be target-entity="FosUserUser"
  <join-columns>
    <join-column name="user_id" referenced-column-name="id"/>
  </join-columns>
</many-to-one>