簡體   English   中英

Symfony + Doctrine ODM“在鏈配置的名稱空間CoreBundle / Document中找不到該類”

[英]Symfony + Doctrine ODM “The class was not found in the chain configured namespaces CoreBundle/Document”

我找不到導致此問題的原因。 我有一個名為CoreBundle(src / CoreBundle)的捆綁軟件,並且其中有一個Entity目錄(src / CoreBundle / Entity)。 該目錄存儲所有實體。 目前,只有用戶實體(src / CoreBundle / Entity / User.php)。 這里是內容:

namespace Mokapot\CoreBundle\Entity;

use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @MongoDB\Document(collection="users")
 */
class User implements UserInterface {

    /**
     * @MongoDB\Id
     */
    protected $id;

    /**
     * @MongoDB\String
     */
    protected $username;

    /**
     * @MongoDB\String
     */
    protected $password;

    /**
     * @MondoDB\Collection
     */
    private $roles;

    public function getRoles() {
        $roles = $this->roles;
        if(empty($roles)) {
            $roles = ['ROLE_USER'];
        }
        return array_unique($roles);
    }

    public function setRoles(array $roles) {
        $this->roles = $roles;
    }

    public function getSalt() {
        return;
    }

    public function eraseCredentials() {

    }

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

    public function getUsername() {
        return $this->username;
    }

    public function setUsername($username) {
        $this->username = $username;
    }

    public function getPassword() {
        return $this->password;
    }

    public function setPassword($password) {
        $this->password = $password;
    }

}

這是我的config.yml原則:

doctrine_mongodb:
    connections:
        default:
            server: "%dbhost%"
            options: {}
    document_managers:
        default:
            database: "%dbname%"
            auto_mapping: false
            mappings:
                CoreBundle:
                    mapping: true
                    type: annotation
                    dir: Entity
                    prefix:               ~
                    alias:                ~
                    is_bundle: true

編輯:更改標題。

嘗試像這樣更改名稱空間:

namespace Mokapot\CoreBundle\Document;

和目錄:

src/CoreBundle/Document

官方文件:

假設您正在構建一個需要顯示產品的應用程序。 甚至不考慮Doctrine或MongoDB,您就已經知道需要一個Product對象來表示這些產品。 在AcmeStoreBundle的Document目錄中創建此類:

我找到了解決方案。 我將prefix變量更改為

prefix: CoreBundle\Entity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM