我正在处理symfony2,并发现此错误:
未找到名为“Acme”的映射文件。博客包。实体帖子。类“Acme\BlogBundle\Entity\Posts”的php。500内部服务器错误-映射异常
我生成实体php应用程序/控制台原则:生成:实体
实体名称:AcmeBlogBundle:Post
格式:php
我将所有内容放在Acme:BlogBundle:Entity目录中。
这是我使用getter和setter方法的Entity Post类:
<?php
namespace Acme\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Posts
*/
class Posts
{
/**
* @var integer
*/
private $id;
/**
* @var string
*/
private $title;
/**
* @var string
*/
private $shortText;
/**
* @var string
*/
private $longText;
/**
* @var string
*/
private $author;
/**
* @var \DateTime
*/
private $dateCreated;
/**
* @var \DateTime
*/
private $dateModified;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
* @return Posts
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set shortText
*
* @param string $shortText
* @return Posts
*/
public function setShortText($shortText)
{
$this->shortText = $shortText;
return $this;
}
/**
* Get shortText
*
* @return string
*/
public function getShortText()
{
return $this->shortText;
}
/**
* Set longText
*
* @param string $longText
* @return Posts
*/
public function setLongText($longText)
{
$this->longText = $longText;
return $this;
}
/**
* Get longText
*
* @return string
*/
public function getLongText()
{
return $this->longText;
}
/**
* Set author
*
* @param string $author
* @return Posts
*/
public function setAuthor($author)
{
$this->author = $author;
return $this;
}
/**
* Get author
*
* @return string
*/
public function getAuthor()
{
return $this->author;
}
/**
* Set dateCreated
*
* @param \DateTime $dateCreated
* @return Posts
*/
public function setDateCreated($dateCreated)
{
$this->dateCreated = $dateCreated;
return $this;
}
/**
* Get dateCreated
*
* @return \DateTime
*/
public function getDateCreated()
{
return $this->dateCreated;
}
/**
* Set dateModified
*
* @param \DateTime $dateModified
* @return Posts
*/
public function setDateModified($dateModified)
{
$this->dateModified = $dateModified;
return $this;
}
/**
* Get dateModified
*
* @return \DateTime
*/
public function getDateModified()
{
return $this->dateModified;
}
}
在我的控制器中,我首先在定义控制器名称空间之后设置Post实体。
use Acme\BlogBundle\Entity\Posts;
之后我创建方法
public function AddAction()
{
// $post = Acme\BlogBundle\Entity\Posts()
$posts = new Posts();
$posts->setTitle('Test Title');
$em = $this->getDoctrine()->getManager();
$em->persist($posts);
$em->flush();
}
下面是堆栈跟踪输出
[1] 条令\Common\Persistence\MappingException:未找到名为“Acme”的映射文件。博客包。实体帖子。类“Acme\BlogBundle\Entity\Posts”的php。不适用于/var/www/html/Symfony/vendor/doctrine/common/lib/doctrine/common/Persistence/MappingException。php第74行
在教义\通用\持久性\映射\映射异常::映射文件不发现('Acme\BlogBundle\Entity\Posts','Acme.博客包。实体。Posts.php) /var/www/html/Symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php117行
at原则\Common\Persistence\Mapping\Driver\DefaultFileLocator-
at教义\通用\持久性\映射\驱动\PHPDriver-
在原则\Common\Persistence\Mapping\Driver\MappingDriverCain-
at Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(object(ClassMetadata),
/var/www/html/Symfony/vendor/doctrine/common/lib/doctrine/common/Persistence/Mapping/AbstractClassMetadataFactory中的null、false、array()。php第302行
at Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('Acme\BlogBundle\Entity\Posts')
in /var/www/html/Symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php
205号线
位于条令\Common\Persistence\Mapping\AbstractClassMetadataFactory-
at条令\ORM\EntityManager-
在条令\ORM\UnitOfWork-
在条令\ORM\UnitOfWork-
at条令\ORM\EntityManager-
在Acme\BlogBundle\Controller\DefaultController-
在/var/www/html/Symfony/app/bootstrap中调用数组(数组(对象(DefaultController),'indexAction'),数组()。php。缓存线2815
在Symfony\Component\HttpKernel\HttpKernel-
在Symfony\Component\HttpKernel\HttpKernel-
在Symfony\Component\HttpKernel\DependencyInjection\ContainerWarehttpkernel-
在Symfony\Component\HttpKernel\Kernel-
更新:
新实体测试:
<?php
// src/Acme/BlogBundle/Entity/Test.php
namespace Acme\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table()
* @ORM\Entity
*/
class Test
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var string
*
* @ORM\Column(name="short_text", type="string", length=255)
*/
private $shortText;
/**
* @var string
*
* @ORM\Column(name="long_text", type="text")
*/
private $longText;
/**
* @var \DateTime
*
* @ORM\Column(name="date_created", type="datetime")
*/
private $dateCreated;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
* @return Test
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set shortText
*
* @param string $shortText
* @return Test
*/
public function setShortText($shortText)
{
$this->shortText = $shortText;
return $this;
}
/**
* Get shortText
*
* @return string
*/
public function getShortText()
{
return $this->shortText;
}
/**
* Set longText
*
* @param string $longText
* @return Test
*/
public function setLongText($longText)
{
$this->longText = $longText;
return $this;
}
/**
* Get longText
*
* @return string
*/
public function getLongText()
{
return $this->longText;
}
/**
* Set dateCreated
*
* @param \DateTime $dateCreated
* @return Test
*/
public function setDateCreated($dateCreated)
{
$this->dateCreated = $dateCreated;
return $this;
}
/**
* Get dateCreated
*
* @return \DateTime
*/
public function getDateCreated()
{
return $this->dateCreated;
}
}
这又是一个错误
PHP应用/控制台原则:生成:实体AcmeBlogBundle
为bundle“AcmeBlogBundle”生成实体
[RuntimeException]
捆绑包“AcmeBlogBundle”不包含任何映射实体。
条令:生成:实体[--path=“…”][--无备份]名称
如果要使用注释来定义映射,只需在生成实体时选择“注释”选项即可。
我犯了一个错误,通过控制台添加了一个新实体,映射类型为“php”,而不是默认的“annotations”。即使不触及生成的类,我的站点也不会立即加载。它为我的用户类引发了这个MappingException。
我删除了新的实体类,认为这将修复它,以及我能想到的一切。然后我查看了我的app/Resources/config目录。有一个新的目录叫做条令。它包含导致问题的实体的映射文件。当我删除这个目录和文件时,异常消失了。
您应该为字段添加映射信息。阅读更多
像这样:
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
尝试使用Streaming在Hadoop上运行mapduce作业。我有两个ruby脚本wcmapper.rb和wcreducer.rb.我正尝试运行该作业,如下所示: 这将导致控制台出现以下错误消息: 查看任何任务的失败尝试可以看出: 我知道hadoop需要复制map和减少器脚本以供所有节点使用,并相信这是-file参数的目的。然而,脚本似乎没有被复制到hadoop期望找到它们的位置。控制台指示它
我正在构建一个REST API, 和ActiveBid类 和我的泽西请求映射器,它具有获取数据的逻辑 有人能帮我吗?我不知道和卡桑德拉共事会这么难。
我是使用Spring SOAP W的新手。我学习了许多教程,并试图适应这个示例的需要,但从未成功,我得到了这样的消息:找不到[SaajSoapMessage { http://ws . veritran . net/vtAuthServer/types } validatePOTCRequest]的endpoint映射 这是梅的代码: 这是我的终点: 这是我的服务级别: 这是我的WSDL定义 最后
前端将这个json发送到我的API 控制器:
卡桑德拉表列: Java实体: 当执行从表列“pickuploc”中选择查询时,并没有完全映射到实体中定义的picupLocal属性。 这是我得到的回应: 使用Spring数据卡桑德拉1.5.8