問題タブ [doctrine]

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 投票する
3 に答える
10088 参照

php - DoctrineTimestampableでUnixタイムスタンプを使用する

Doctrine Timestampableの動作でUnixタイムスタンプを使用するにはどうすればよいですか?ここで次のコードスニペットを見つけましたが、手動でどこにでも追加したくありません。

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

php - クロスデータベース/クロスサーバー結合をサポートする ORM フレームワークはありますか?

私は2つのサーバーを持っています:

  • サーバー A: MySql
    • 表 A
      • キー A
      • 外部キー b
  • サーバー B: MsSQL
    • 表 B
      • キー-b
      • 外部キー a

おそらく、関係を処理するメソッドを持つ 2 つのオブジェクトがあります。

TableA->getRelatedTableB();

TableB->getRelatedTableA();

これは、ほとんどの ORM で簡単に実装できます。しかし、データベース サーバーごとに 1 つのクエリだけで大量のオブジェクトを取得したい場合はどうすればよいでしょうか? 理想的には、フレームワークがこれを抽象化し、論理結合を実行して、開発者がデータベースについて何も知らないふりをできるようにします。何かのようなもの:

FinderObject->getAlotOfTableAObjectsWithTableBAlreadyLoaded()

そして、各データベースに対してクエリを実行し、効率的な方法で結果を論理的に結合します。


これをDoctrineまたは他のphp ORMフレームワークで実装する方法を知っている人はいますか?

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

php - In Doctrine, where should I put my own methods?

Let's say I have a User model. Would I put methods on the model itself, or as a template so I can access it from the user table object?

In other words, which is more preferable:

or

My instinct would be the second one, since it logically makes more sense, but what about things like password changing, logging in, etc? Should I really put those on the User model while I keep things like register on the user table object?

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

php - Doctrine サブクラスを正しく行っていますか? エラーの理由

Doctrine で POS システムの構築を開始しました。注文を受けていますが、サブクラスを Doctrine の適切な方法でセットアップしたかどうかさえわかりません。

これは、注文の項目について私が思いついたモデルです

データベースはこんな感じ。タイプは 1 (レンタル) または 2 (購入) のいずれかです。

これが lineItem クラスです

これがrentLineItemクラスです(buyLineItemは似ています)

オブジェクトを呼び出すコードは次のとおりです

ここに私が得ているエラーがあります

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

php - 教義構成関数の使用方法

Doctrineのドキュメントには、使用できると書かれています

__construct はオーバーライドできないため、コンストラクト関数として。

コードに配置してエコーを入れると

オブジェクトの構築中には呼び出されません。

どのように呼び出されるはずですか、またはPHPのロード時間中(または直後)に関数を呼び出すための素晴らしい方法はありますか?

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

php - Doctrine経由でリテラルパラメータをDBに送信するにはどうすればよいですか?

このようなことをしたい場合 (expires 行に注意してください):

postgresqlに送信する前にDoctrineに引用させないようにするにはどうすればよいですか? PHPでこれを行うことができることは知っていますが、今後の参考のために知りたいです。

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

php - ORM を補完する PHP データ アクセス設計パターン

私は現在、PHP で Doctrine ORM を使用して Active Record パターンに依存するサイトを持っています。私は通常、このアプローチのファンです。これは非常に簡単で、単純な CRUD アプリの管理に適しています。しかし、このサイトが成長するにつれて、より堅牢なドメイン機能の必要性も高まると思います. ORM と組み合わせてうまく機能する他の種類のデータ設計パターンを知りたいと思っていました。

現在の私の基本的な問題は、Doctrine が派手なクエリ言語として最適に機能するように思われるため、私のモデルには次のようなメソッドが散らばっていることです。

またはモデルクラスに直接アクセスしたい場合:

つまり、ドメイン オブジェクトを直接操作するのではなく、Doctrine のオブジェクト ラッパーを使用することになります。これはすべて、より低いレベルの抽象化に存在する必要があるように感じます。

最善のアプローチが何であるかはよくわかりません。ORM は、単一のテーブルにクエリを実行し、リレーションシップを処理するための優れたレイヤーだと思います。しかし、複数のモデル/テーブルで機能するドメイン オブジェクトを作成する際の柔軟性を高めたいと考えています。

リポジトリ パターンの使用について調べましたが、まだいくつかためらいがあります。

  1. 元の問題を単純に泡立てる無意味な抽象化のレイヤーを作成したくありません。

  2. Active Record ORM を使用することの要点全体を再作成したり、役に立たなくしたりしたくありません。

何か考えや提案はありますか?

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

php - 教義の検証に関するカスタムエラーメッセージ

教義検証のデフォルトのエラーメッセージを変更する必要があります。これどうやってするの?

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

php - 複数のデータソースを処理するにはどうすればよいですか?

私は販売するWebアプリケーション(PHP + Doctrine + MySQL)に取り組んでいます。問題は、クライアントが私の中央データソースから必要とする情報があり、クライアントが私に見せたくない情報(財務など)を持っていることです。

私の質問ですが、その情報を顧客のアプリケーションに提供するための最良の方法は何ですか?

私の最初の考え:私が作成しているアプリケーションはDoctrineで構築されています。次のようなものを使用して、2つのデータベースへの接続を作成できると思います(正確な方法を知っている場合はお知らせください)。

これに伴う問題は、MySQLポートを開かなければならないことです。これは、ホスティング会社が私のために行っていない可能性があり、安全でもない可能性があります。そうでない場合はお知らせください。

そこで、毎日新しいデータをダウンロードするphp-cronジョブを設定することを考えました(毎日で十分です)。これには、ファイルを出力するためにデータソースにある種のphpページが必要になります。これに伴う問題は、クライアントアプリがどのような情報を持っているかを把握し、それを更新することです。

編集:私は連合テーブルについて読んだばかりです。ホストにポート3306を開かせることができれば、これは別の解決策になる可能性があります。

ありがとう

0 投票する
4 に答える
8076 参照

php - Zend Framework 1.9 と Doctrine の統合

Zend Framework と Doctrine をセットアップしようとしています。

ZF 1.8とのこの以前の議論があります

その議論では、AutoLoader / Bootstrap System は考慮されていません。

./zh.sh を使用してアプリケーション スケルトンを生成する場合、Doctrine を統合するにはどうすればよいでしょうか。