Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 FOSMessageBundle-未正确生成实体_Php_Symfony - Fatal编程技术网

Php FOSMessageBundle-未正确生成实体

Php FOSMessageBundle-未正确生成实体,php,symfony,Php,Symfony,我正在使用,我认为我很好地遵循了说明,但我似乎无法使数据库正确生成 这是我的信息实体: <?php namespace Acme\Bundle\DemoBundle\Entity; use Doctrine\ORM\Mapping as ORM; use JMS\Serializer\Annotation as JMS; use FOS\MessageBundle\Entity\Message as BaseMessage; use FOS\MessageBundle\Model\Pa

我正在使用,我认为我很好地遵循了说明,但我似乎无法使数据库正确生成

这是我的信息实体:

<?php

namespace Acme\Bundle\DemoBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
use FOS\MessageBundle\Entity\Message as BaseMessage;
use FOS\MessageBundle\Model\ParticipantInterface;

/**
 * Message
 *
 * @ORM\Entity()
 * @JMS\ExclusionPolicy("All")
 */
class Message extends BaseMessage implements EntityInterface
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     * @JMS\Groups({"list", "default"})
     * @JMS\Expose()
     */
    protected $id;

    /**
     * @var Thread
     *
     * @ORM\ManyToOne(targetEntity="Thread", inversedBy="messages", cascade={"persist"})
     * @ORM\JoinColumn(name="thread_id")
     * @JMS\Groups({"default"})
     */
    protected $thread;

    /**
     * @ORM\ManyToOne(targetEntity="User")
     * @var ParticipantInterface
     */
    protected $sender;

    /**
     * @ORM\OneToMany(targetEntity="MessageMetadata", mappedBy="message", cascade={"all"})
     * @var MessageMetadata
     */
    protected $metadata;
}
问题是,我的表最后只有
id
thread\u id
sender\u id
。它错过了其余的领域


我错过了什么

检查所有类是否正确映射:

php app/console doctrine:mapping:info
如果没有,则必须将元数据发送到配置文件

message_class: Acme\Bundle\DemoBundle\Entity\Message

我不确定,但在您的案例中,似乎有两种不同的实体配置—您的注释和来自
FOSCommentBundle

请将配置更改为XML格式,如下所示,然后再次检查


关于,

Merk,该项目的一名贡献者指出我在实体管理器下将
自动映射设置为
true


一旦我设置了这个,它就解决了我的问题

对我来说,自动映射不起作用,我得到了消息

无法识别的选项“doctrine.orm”下的“auto_mapping”

我通过添加FOSMessageBundle解决了这个问题,如下所示:

orm:


他们的文档要求您使用注释,这表明我所有的类都正确映射,我还创建了其他表和实体,我只是没有发布它们。太多的文字。。。
message_class: Acme\Bundle\DemoBundle\Entity\Message
    auto_generate_proxy_classes: "%kernel.debug%"
    default_entity_manager: default
    entity_managers:
        default:
            naming_strategy: doctrine.orm.naming_strategy.underscore
            connection: default
            second_level_cache:
                enabled: true
            mappings:
                AppBundle: ~
                UserBundle: ~
                FOSMessageBundle: ~