- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试执行 ./app/console doctrine:migrate:diff
时出现以下错误:
[Doctrine\ORM\Mapping\MappingException]
Class VNN\CoreBundle\Entity\Game is not a valid entity or mapped super class.
/**
* @ORM\ManyToOne(targetEntity="VNN\CoreBundle\Entity\Game")
<?php
namespace VNN\PressboxBundle\Entity;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Query\Expr\OrderBy;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Type;
use VNN\CoreBundle\Entity\Game;
/**
* VNN\PressboxBundle\Entity\Event
*
* @ORM\Table(name="event")
* @ORM\Entity
*/
class Event
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="VNN\CoreBundle\Entity\Game")
* @ORM\JoinColumn(name="core_game_id", referencedColumnName="game_id")
**/
private $coreGame;
VNN\CoreBundle\Entity\Game
,就是这样
Game
不是有效实体。所以这里是
Game.php
:
<?php
namespace VNN\CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* VNN\CoreBundle\Entity\Game
*
* @ORM\Table(name="games")
* @ORM\Entity
*/
class Game
{
/**
* @var integer $id
*
* @ORM\Column(name="game_id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer $homeSchoolId
*
* @ORM\Column(name="home_school_id", type="integer")
*/
private $homeSchoolId;
/**
* @var integer $awaySchoolId
*
* @ORM\Column(name="away_school_id", type="integer")
*/
private $awaySchoolId;
/**
* @ORM\ManyToOne(targetEntity="School")
* @ORM\JoinColumn(name="home_school_id", referencedColumnName="school_id")
**/
private $homeSchool;
/**
* @ORM\ManyToOne(targetEntity="School")
* @ORM\JoinColumn(name="away_school_id", referencedColumnName="school_id")
**/
private $awaySchool;
/**
* @ORM\ManyToOne(targetEntity="Sport")
* @ORM\JoinColumn(name="sport_id", referencedColumnName="sport_id")
**/
private $sport;
/**
* @var integer $datetime
*
* @ORM\Column(name="game_datetime")
*/
private $datetime;
/**
* @var integer $homeScore
*
* @ORM\Column(name="home_score", type="integer")
*/
private $homeScore;
/**
* @var integer $awayScore
*
* @ORM\Column(name="away_score", type="integer")
*/
private $awayScore;
public function getId()
{
return $this->id;
}
public function getHomeSchool()
{
if ($this->homeSchoolId > 0) {
return $this->homeSchool;
} else {
return FALSE;
}
}
public function getAwaySchool()
{
if ($this->awaySchoolId > 0) {
return $this->awaySchool;
} else {
return FALSE;
}
}
public function recordIsValid()
{
if (!($this->homeSchoolId > 0)) {
return FALSE;
}
if (!($this->awaySchoolId > 0)) {
return FALSE;
}
return TRUE;
}
public function getSport()
{
return $this->sport;
}
public function getHumanDatetime()
{
$date = new \DateTime($this->datetime);
return $date->format('F d, Y g:ia');
}
public function getDatetime()
{
$date = new \DateTime($this->datetime);
return $date->format('m/d/Y g:i:s a');
}
public function getOpposingSchoolWithRespectToSchoolName($schoolName)
{
if ($schoolName == $this->getHomeSchool()->getName()) {
return $this->getAwaySchool();
} else {
return $this->getHomeSchool();
}
}
public function getHomeScore()
{
return $this->homeScore;
}
public function getAwayScore()
{
return $this->awayScore;
}
}
Game
?
最佳答案
我已经成功地使用了跨捆绑实体关系,没有任何问题。如果您禁用了自动映射,您需要告诉学说每个包含实体的包。
所以在 app/config.yml 你需要有这样的:
doctrine:
orm:
auto_mapping: true
doctrine:
orm:
auto_mapping: false
entity_managers:
default:
mappings:
VNNCoreBundle: ~
VNNPressboxBundle: ~
./app/console doctrine:generate:entities --force
并确保它运行没有错误
/
没有必要。还有
use
声明是多余的。
关于symfony - targetEntity 在不同的包中时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372078/
当我尝试执行 ./app/console doctrine:migrate:diff 时出现以下错误: [Doctrine\ORM\Mapping\MappingException]
我在用户实体的创建 View 中为关系定义了一个 targetEntity,但是当列表加载实体时,api 调用包括默认分页,因此列表不完整。 nga.field('CompanyId', 'refer
我最近试图为我的一些 hibernate 映射实体引入接口(interface),但不知道如何配置映射。 当我在没有任何进一步声明的情况下使用接口(interface)时,我总是得到以下异常: org
我有一个枚举类RoleType public enum RoleType { SYSTEM_ADMIN, PROJECT_ADMIN, USER; } 在我的 User 实体类中,我有以下枚举
当我设置多对一映射时,虽然两个类都在同一个命名空间中,但它可以工作。 但是如果这两个类在不同的命名空间中,它将不起作用? /** * @ORM\ManyToOne(targetEntity="OP\
我正在尝试将接口(interface)用作“targetEntity”。 简单的代码应该解释我打算做什么 界面: namespace Project\Entity; interface AnimalI
我想在另一个 bundle “targetEntity”属性中使用实体,但它生成了错误... 此类之间: namespace Tgb\CoreBundle\Entity; use Doctrine\O
我正在尝试使用 Hibernate 和 javax.persistence 注释开发一个应用程序。我在映射接口(interface)时遇到了一些麻烦。 我已经将我的接口(interface)映射为@M
我正在为 ORM 使用 hibernate 和注释。 我有所有 bean 的接口(interface),并且我使用 targetEntity 来建立关系: hibernate 无法派生类型,因为 ge
我是一名优秀的程序员,十分优秀!