質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Doctrine2

Doctrine 2.0はPHP(5.3.2+)のORMです。Doctrine1.2はActive Recordのパターンを使っているのに対し、Doctrine 2はData Mapperパターンを使います。Doctrineのプロジェクトはデータベースの抽象性とPHPで書かれたORMを扱うためのオープンソースのライブラリとツールの集合です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

2481閲覧

Doctrine2で、 MappingException Class 'xxx' does not exis

ryuuinn

総合スコア75

Doctrine2

Doctrine 2.0はPHP(5.3.2+)のORMです。Doctrine1.2はActive Recordのパターンを使っているのに対し、Doctrine 2はData Mapperパターンを使います。Doctrineのプロジェクトはデータベースの抽象性とPHPで書かれたORMを扱うためのオープンソースのライブラリとツールの集合です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/07/05 00:28

編集2016/07/05 00:38

Doctrine2を使って、既存のDBからEntityを生成しましたが、表題のようなエラーとなり、うまく行きません。

ディレクトリ構成

bootstrap.php cli-config.php composer.json src |-- entities |-- Purchase.php |-- Purchase.dcm.yml

composer.json

// composer.json { "require": { "doctrine/orm": "2.4.*", "symfony/yaml": "2.*" }, "autoload": { "psr-0": {"": "src/"} } }

bootstrap.php

// bootstrap.php <?php // bootstrap.php use Doctrine\ORM\Tools\Setup; use Doctrine\ORM\EntityManager; require_once "vendor/autoload.php"; $isDevMode = true; $config = Setup::createYAMLMetadataConfiguration(array(__DIR__."/src"), $isDevMode); // database configuration parameters $conn = array( 'dbname' => 'test', 'user' => 'test', 'password' => 'testpass', 'host' => 'localhost', 'driver' => 'pdo_mysql' ); // obtaining the entity manager $entityManager = EntityManager::create($conn, $config); // Set the other connections parameters $conn = $entityManager->getConnection(); $platform = $conn->getDatabasePlatform(); $platform->registerDoctrineTypeMapping('enum', 'string'); $conn->getConfiguration()->setFilterSchemaAssetsExpression("~^(purchase)~");

cli-config.php

// cli-config.php require_once "bootstrap.php"; return \Doctrine\ORM\Tools\Console\ConsoleRunner::createHelperSet($entityManager);

やったこと

    1. mappingしたyamlを生成

./vendor/bin/doctrine orm:convert:mapping --from-database yaml src/

    1. entityを作成

./vendor/bin/doctrine orm:orm:generate-entities src/entities

    1. orm:infoをやってみる
$ ./vendor/bin/doctrine orm:info Found 1 mapped entities: [Doctrine\Common\Persistence\Mapping\MappingException] Class 'Purchase' does not exist orm:info

なぜこうなってしまうのでしょうか。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問