プロジェクトでDoctrineを使いたかったのですが、Entity Managerを使用できません。 私はentites、リポジトリ、設定ファイルとdbconnectを作成しましたが、正しく行われていないようです。 このコードを確認してください。たぶん私は本当に小さいものを見逃しているかもしれない。 (それはinit.phpにブートストラップされる)doctrineのエンティティマネージャを有効にできません
私のするDBConnectファイル:
<?php
namespace Projekt\Config;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
$paths = array("Entity");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '',
'dbname' => 'projekt',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, null, null, false);
$em = EntityManager::create($dbParams, $config);
マイリポジトリ例:今すぐ
<?php
namespace Projekt\Repository;
use Doctrine\ORM\EntityRepository;
/**
* Message
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class Message extends EntityRepository
{
public function getMessage($id)
{
$message = $this->find($id);
return $message;
}
public function getAllMessages()
{
}
public function createMessage()
{
}
public function updateMessage()
{
}
public function deleteMessage()
{
}
}
私はデフォルトまたはカスタムリポジトリ方法Iにアクセスしようとしていますこのエラーが出る:EntityRepository.phpで
Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::__construct(),
called in F:\xampp\htdocs\mvc\app\Controllers\Messages.php
on line 15 and defined in F:\xampp\htdocs\mvc\vendor\doctrine\orm\lib\Doctrine\ORM\EntityRepository.php on line 64
ライン64は宣言する__construct関数であり、 EntityManagerのが、それが正しく動作していないようです:私が気づい
public function __construct($em, Mapping\ClassMetadata $class)
{
$this->_entityName = $class->name;
$this->_em = $em;
$this->_class = $class;
}