2017-08-02 3 views
1

\私はこのクラスのログインエンティティユーザーは、「チェーン構成された名前空間内に見つかりませんでしたエンティティ

return array(
'doctrine' => array(
    'driver' => array(
     __NAMESPACE__. '_driver' => array(
      'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 
      'cache' => 'array', 
      'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity') 
     ), 
     'orm_default' => array(
      'drivers' => array(
       __NAMESPACE__.'\Entity' => __NAMESPACE__.'_driver' 
      ) 
     ) 
    ) 
), 

と私のようmodule.config.php構成したZF2と教義を使用していますLoginController

class LoginController extends AbstractRestfulController { 

    public function indexAction() { 

     $em = $this->getServiceLocator()-> get('Doctrine\ORM\EntityManager'); 
     $usr = new User(); 
     $usr->setUsername('yassine'); 
     $usr->setPassword('yassine'); 
     $usr->setEmail('[email protected]'); 
     $em->persist($usr); 
     $em->flush(); } } 

と私のクラスのユーザー/ログイン/エンティティ/ユーザ

use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity 
* @ORM\Table(name="user") 
*/ 
class User 
{ 
/** 
* @ORM\Id 
* @ORM\GeneratedValue 
* @ORM\Column(name="id") 
*/ 
protected $id; 

/** 
* @ORM\Column(name="username") 
*/ 
protected $username; 

/** 
* @ORM\Column(name="password") 
*/ 
protected $password; 

/** 
* @ORM\Column(name="email") 
*/ 
protected $email; 

    // Returns ID of the user 
public function getId() 
{ 
    return $this->id; 
} 

// Sets ID of the user. 
public function setId($id) 
{ 
    $this->id = $id; 
} 

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

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

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

// Sets Password. 
public function setPassword($password) 
{ 
    $this->password = $password; 
} 

// Sets email. 
public function setEmail($email) 
{ 
    $this->email = $email; 
} 

// Returns email. 
public function getEmail() 
{ 
    return $this->email; 
} 

}

それがこのメッセージマッピング例外私を示していることを問題:

クラスのログイン\エンティティ\ユーザーが「エンティティ

+0

'module.config.php'ファイルに' namespace Login; 'のようなものがありますか? – gsc

答えて

0

\チェーン構成された名前空間で見つかりませんでしたあなたのmodule.config.php__NAMESPACE__が空であるようで、 Doctrineは次のことを見ている理由です:

'drivers' => [ 
    '\Entity' => '_driver' 
] 

の代わり:

'drivers' => [ 
    'Login\Entity' => 'Login_driver' 
] 

この問題を解決するには、module.config.phpで使用されるnamespaceを宣言する必要があります。右PHPの開始タグの後に、ファイルの先頭に

namespace Login; 

:他の言葉では、次のように置きます。

__NAMESPACE__のすべての文字を'Login'文字列に置き換えることもできます。

関連する問題