問題タブ [doctrine-orm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
632 参照

zend-framework - Zend Framework 1.11 と Doctrine 2 Autoloaders を混在させるときの奇妙な点

ZF/Doctrine2 アプリで次のようにオートローディングをセットアップしました

他のクラスが動作しているときにオートロードが機能していないことがわかりましたDoctrineExtensions...パスなどが正しいことを確認するために、試しました

そして、それは機能します。Zend Framework と何か関係があるようですね。

0 投票する
2 に答える
1096 参照

php - 教義 2 の設定

私は Doctrine を扱う初心者です。私は彼らのウェブサイトに行き、最新のものと思われるバージョン 2.0 (安定版) を見つけました。いくつかの問題がありましたが、PEAR メソッドを使用してインストールしました。ドキュメンテーションは私にはかなり面倒に思えましたが、インターネットで検索したところ、boostrap ファイルのサンプルが見つかりました。Doctrine 2.0 のドキュメントはここにあります 。

`指示に従い、require_once ('libs/Doctrine/Common/ClassLoader.php') と同様にクラス ロード ファイルをインクルードしました。最初に。

メソッド「execute」はバージョン 2 では「exec」であり、バージョン 2 では他の代わりに DriverManager を使用していることがわかりました。今、Doctrine が機能するかどうかをテストしようとすると、出力が得られず、予期しない T_STRING のエラーが発生します。これは、実際にはコマンドが理解されていないことを意味します。

バージョン 1.2 では getPath() を使用したテストがありますが、この関数はバージョン 2.0 には存在しないか、何か間違っている可能性があります。$conn->exec も何もしないことに注意してください。

Windows 7 と WAMP サーバー バージョン 2、PHP 5.3.3 を実行しています。プロジェクト ディレクトリにある Doctrine のフォルダを取り出しました。プロジェクト ディレクトリに追加せずに Doctrine を使用する機会はありますか?

前もって感謝します。

0 投票する
1 に答える
177 参照

zend-framework - Doctrine2 からオブジェクトを取得すると、モデル クラスの __construct() が実行されますか?

オブジェクトを取得するとき

または DQL のような他のメソッドfindBy*()__construct()、モデル クラスの が実行されますか? EntityManager への参照のようにそこに変数を設定するという問題があり、設定されていないことがわかりました。

を入れてみdie()まし__construct()たが、アプリケーションは停止しません。他のプロパティ/フィールドを設定したい場合はEntityManager $em、他の方法で行う必要があると言えますか? おそらく次のようなもの

0 投票する
2 に答える
146 参照

ajax - モデルを追加/編集するコードはどこに属しますか? モデルまたはコントローラー

ORM (Doctrine 2) で MVC フレームワーク (Zend Framework) を使用しています。一見すると、答えはモデルのようです。しかし、少し考えた後、コントローラーに入れるべきかどうか疑問に思います。私は次のような関数を参照しています

そのような機能は問題ないようです。しかし、AJAX を介してインライン編集を許可する場合。例えば。製品名を編集するだけで、コントローラーで次のようなものを使用すると思います

しかし、$emとにかくコントローラーにエンティティマネージャーが必要なので、コントローラーのデータベースコードのようになりますか? それは私が間違っているということですか?または多分私はちょうどのようなことをすることができます

私のコントローラーで?

0 投票する
1 に答える
463 参照

php - Doctrine2: schema-tool Mappedsuperclass の問題


上記のこのコードで、実行しようとすると

doctrine schema-tool:create

BaseClass not found エラーが発生しますが、 Aclass 名の名前を Dclass (アルファベット順で BaseClass の後) に変更すると、すべて正常に動作します。どこかで、アルファベット順と関係があるというバグ レポートを見たのを覚えていますが、そのレポートを見つけることができず、この問題の解決策があるのだろうか? ちなみに、doctrine 2.0の安定版を使用しています。

0 投票する
1 に答える
416 参照

zend-framework - ZendFrameworkアプリのどこにサービス/データアクセスクラスを配置するか

私はもともと、エンティティクラス内からDoctrine2のエンティティマネージャーにアクセスする方法を知りたいと思っていました。しかし、 Doctrine 2.0エンティティ内でEntityManagerを使用するという別の質問を見て、サービスクラスを使用する必要があることを学びました。Zend Frameworkアプリケーションをどこに置くべきか疑問に思いますか?また、DAO(データアクセスオブジェクト)とも呼ばれますか?サービスは外部サイトが使用するもの(Webサービスなど)のように聞こえるので、サービスではなくDAOという名前を付けることを考えていますか?

私は次のようなことを考えていApplication_Models_DAO_Userますか?

0 投票する
1 に答える
216 参照

php - (データアクセス)サービスクラスの構造は何ですか

モデル/コントローラーにそのようなロジックを配置するのではなく、サービスクラスを使用してエンティティをデータベースに永続化する必要があることを学びました。私は現在、サービスクラスを次のようなものにしました

これがサービスクラスの構造なのかしら?サービスオブジェクトはエンティティ/モデルを表しますか?または、次のような編集を行うたびにUserオブジェクトを渡す必要があります。

Doctrine2とZendFrameworkを使用していますが、問題ありません。

0 投票する
1 に答える
550 参照

zend-framework - PHPUnitとDoctrine2を使用したユニットテスト:自動読み込みに失敗しました

このエラーが発生します

の繰り返し" D:\Projects\Tickle\Application\Models\Application\Models\User.php"に注意してくださいApplication\Modelsechoいくつかのステートメントの助けを借りて、ユニットテストの1つの機能に絞り込みました

フルクラスhttp://pastebin.com/rJungFvP

そこで、Userを使用するTasksクラスで何かを探してみました...Userクラスを使用する可能性があるのは

それを除けば、ユーザーの使用は見当たりません。フルクラスhttp://pastebin.com/wDPXUPSV

私は何を間違えましたか?

0 投票する
2 に答える
5271 参照

php - AnnotationDriver::getAllClassNames を明示的に呼び出さない限り、Doctrine が機能しない

Doctrine ORM を初めて使用しようとしています。ここにある構成に従っています。

これらの手順を直接実行すると、次のエラーが発生します。

警告: class_parents() [function.class-parents]: クラス MyProject\Model\User が存在せず、 222 行目の/opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.phpにロードできませんでした

警告: array_reverse() は、パラメーター 1 が配列であると想定 します。222 行目の/opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.phpで指定されたブール値です。

警告: /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.phpの222 行目 の foreach() に無効な引数が指定されまし た

致命的なエラー: /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadata.php:67 にメッセージ「Class MyProject\Model\User does not exist」を含むキャッチされない例外「ReflectionException」

スタックトレース:

#0 /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadata.php(67): ReflectionClass->__construct('MyProject\Model...')

#1 /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php(350): Doctrine\ORM\Mapping\ClassMetadata->__construct('MyProject\Model...')

#2 /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php(260): Doctrine\ORM\Mapping\ClassMetadataFactory->newClassMetadataInstance('MyProject\Model...')

#3 /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php(169): Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata('MyProject\Model...')

#4 /opt/local/lib/php/Doctrine/ORM/EntityManager.php(247): Doctrine\ORM\Mapping\ClassMetadataFactory->getMetadataFor('MyProject\Model...')

#5 /opt/local/lib/php/Doctrine/ORM/EntityManager.php(563): Doctrine\ORM\EntityManager->getClassMetadata('MyProject\Model...')

#6 /opt /opt/local/lib/php/Doctrine/ORM/Mapping/ClassMetadata.phpの67 行目

このエラーは解消され、サンプル コードに次の行を追加すると、コードは完全に機能します (以下のコメントで示されます)。

サンプル コードを動作させるためにこの呼び出しが必要であることに言及するものは何もありません。エラーが発生している場所を確認しようとしているときに、画面に情報をエコーし​​ているときに偶然出くわしただけです。

この呼び出しが必要な理由 (およびサンプル コードで言及されていない理由) はありますか? 元のエラーの根本原因である代わりに呼び出す必要があるものは他にありますか?

(必要に応じてより多くのコードを投稿できます。Doctrine を使用するのは初めてなので、これを解決するのに何が最も役立つかはわかりません。)

編集:エラーが実際に発生する行について言及するのを怠りました:

0 投票する
3 に答える
3683 参照

doctrine - Doctrine ORM の YAML マッピングに関する完全なドキュメント?

エンティティのYAML マッピング ドキュメントが不足しているようです。さまざまな型、さまざまなジェネレーター戦略、mappedBy の意味、許可されるカスケード値の型、多対 1 の関係を定義する方法などについては説明していません。この YAML ファイルの完全なドキュメントはどこにありますか?