Symfony 建立关系的问题
我很难让我的亲戚和医生一起工作 生成架构时,错误消息如下所示:Symfony 建立关系的问题,symfony,doctrine-orm,Symfony,Doctrine Orm,我很难让我的亲戚和医生一起工作 生成架构时,错误消息如下所示: “名为“wasd.user\u post”的表已存在。” 我的问题是,我不明白是什么关系导致出现此错误消息 这些是我的实体: 职位: 我的灵能告诉我,你在Resources/config/doctrinesaly下有orm文件,当然没有,但是谢谢:)好的。看起来您正在尝试在用户和帖子之间创建两个多个关系。默认情况下,它们都将尝试使用名为user_post的表。因此,您可以考虑添加一个“可接合参数”。是的,我在Post实体上试过(见问
“名为“wasd.user\u post”的表已存在。”
我的问题是,我不明白是什么关系导致出现此错误消息
这些是我的实体:
职位:
我的灵能告诉我,你在Resources/config/doctrinesaly下有orm文件,当然没有,但是谢谢:)好的。看起来您正在尝试在用户和帖子之间创建两个多个关系。默认情况下,它们都将尝试使用名为user_post的表。因此,您可以考虑添加一个“可接合参数”。是的,我在Post实体上试过(见问题),我用错了吗?在我看来,它与docsI中的示例6.9完全相同。我发现了问题,我使用的是invseredBy 2x,而不是mappedBy&inversedBy
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="posts")
*/
class Post
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="text", type="text")
*/
private $text;
/**
* @ORM\Column(name="votes", type="integer")
*/
private $votes = 0;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="posts")
*/
private $owner;
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="upvotedPosts")
* @ORM\JoinTable(name="post_upvotes")
*/
private $upvotedBy;
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="downvotedPosts")
* @ORM\JoinTable(name="post_downvotes")
*/
private $downvotedBy;
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="post")
*/
private $comments;
/**
* @ORM\OneToMany(targetEntity="Attachment", mappedBy="post")
*/
private $attachments;
}
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="is_summoner_verified", type="boolean")
*/
private $isSummonerVerified = false;
/**
* @ORM\Column(name="summoner_id", type="string", length=255)
*/
private $summonerId = '';
/**
* @ORM\Column(name="summoner_name", type="string", length=255)
*/
private $summonerName = '';
/**
* @ORM\Column(name="display_league", type="boolean")
*/
private $displayLeague = true;
/**
* @ORM\Column(name="display_summoner", type="boolean")
*/
private $displaySummoner = true;
/**
* @ORM\Column(name="league", type="string", length=255)
*/
private $league = '';
/**
* @var $posts
* @ORM\OneToMany(targetEntity="Post", mappedBy="owner")
* @ORM\JoinColumn(name="owner_id")
*/
private $posts;
/**
* @ORM\Column(name="summoner_verify_code", type="string", length=8)
*/
private $summonerVerifyCode = '';
/**
* @ORM\ManyToMany(targetEntity="Post", inversedBy="upvotedBy")
*/
private $upvotedPosts;
/**
* @ORM\ManyToMany(targetEntity="Post", inversedBy="downvotedBy")
*/
private $downvotedPosts;
/**
* @ORM\ManyToMany(targetEntity="Comment", inversedBy="upvotedBy")
*/
private $upvotedComments;
/**
* @ORM\ManyToMany(targetEntity="Comment", inversedBy="downvotedBy")
*/
private $downvotedComments;
/**
* @ORM\OneToOne(targetEntity="Stream", mappedBy="user")
*/
private $stream = null;
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="user")
*/
private $comments;
}