問題タブ [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 投票する
2 に答える
1615 参照

php - Doctrine Named Queries: クエリ呼び出しの制限を指定する

次のようなものを想像してみましょう。

後で、次のようなことができます。

名前付きクエリを定義するときではなく、使用するときに制限を設定する方法はありますか? 私は本当に次のようなことをしたいと思います:

また

事前にt​​hx!:-)

0 投票する
7 に答える
34084 参照

php - PHP Doctrine ORM を使用した複雑な WHERE 句

PHP Doctrine ORM を使用してクエリを作成しています。しかし、DQL (Doctrine Query Language) を使用して次の WHERE 句を記述する方法がよくわかりません。

括弧の位置を指定するにはどうすればよいですか?

私が現在PHPコードに持っているのはこれです:

しかし、これは次のようなものを生成します

操作の順序が原因で、意図した結果が返されません。

また、「where」、「andWhere」、および「addWhere」メソッドに違いはありますか?

UPDATE わかりました、DQL を使用して複雑なクエリを実行することはできないようです。そのため、手動で SQL を記述し、andWhere() メソッドを使用して追加しようとしています。ただし、私は WHERE..IN を使用しており、Doctrine は囲み括弧を削除しているようです:

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

php - Doctrine raw sql と準備済みステートメント

準備済みステートメントを使用した Doctrine_RawSql クエリがあります。ただし、SQL クエリが生成されると無視されるようです。しかし、トークン値を省略すると、バインドされた変数の数が一致しないという例外が発生します (したがって、少なくともそれらをサブしようとしています)。

これらの値をインラインで含めた場合、Doctrine は SQL インジェクションを防ぐために舞台裏で何かをしていますか?

これが私のコードです:

これにより、次の SQL 出力が提供されます。

編集: のプロパティ$locationが適切に設定されています。パラメータをハードコーディングした場合:

トークンが置き換えられないという同じ問題が発生します。

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

php - Doctrine_RawSql カスタム選択

カスタム選択で doctrine_rawsql を生成するのに問題があります。

これは私のrawsqlです

私が行うと$q->getSql()、距離は生成されたSQLに表示されません。

何か案は?私は何か間違ったことをしていますか?

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

php - 教義の記録はどの程度行うべきですか?

私は独自の CMS を作成しており、データベースに doctrine を使用しています。

Post レコードをクレートするとき、そのレコードはどのくらいの作業を行うべきなのだろうか?

例:

私は Post -> Categories リレーション (1 対多) を持っています。別の関数を作成してカテゴリを追加する必要があります (Post が既にカテゴリを持っているかどうかなどを確認するため)、または Post はアクセサー/ミューテーターを使用してそれを行う必要がありますか?

ベストプラクティスは何ですか?

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

php - Doctrine ORM で「存在する場合は更新」を実装する

私はINSERT OR UPDATE IF EXISTS1回の取引でしようとしています。

mysqlでは、通常DUPLICATE KEY("UPDATE ON DUPLICATE KEY") を使用します。さまざまな SQL バリアントとサブクエリを使用して、この問題に対する多くの解決策を認識していますが、Doctrine (PHP ORM) でこれを実装しようとしています。機能が満載なので、これを行うためのDoctrineメソッドがあるようですが、何も見つかりません。このようなことは、何らかの理由で PHP ORM パッケージを使用すると問題になるのでしょうか? それとも、ハックや何らかの手段でこれを達成する方法を知っている Doctrine の専門家はいますか?

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

php - 「IF」でmysqlステートメントを開始できますか?

mysqlに「IFrecordEXISTSTHENUPDATEELSEINSERT」を実装しようとしています。具体的には、DoctrineORMでそれを行う方法を理解する必要があります。

ネイティブMySqlを使用する1つの解決策は、「ONDUPLICATEKEYUPDATE」を使用することです。残念ながら、これはDoctrineではサポートされていません。

もう1つの半解決策は、「REPLACEINTO」構文を使用することです。Doctrineはこれをサポートしていますが、REPLACEはレコードを更新せず、代わりにレコードを削除して新しいレコードを作成します(新しい自動インクリメントIDを使用)。このため、私のように自動インクリメントIDに依存する場合は悪い解決策です。 。

私が操作しようとしているテーブルはINNODBであるため、トランザクションを調べましたが、トランザクションの外部で適用されるのと同じルールがトランザクションの内部で適用されるかどうかは完全には理解していません。

トランザクション内で「IF(INSERTIGNORE INTO table critical_id= $ id)THEN exit ELSE(UPDATE table SET field='new_value')」と言うことはできますか?

そのようなことが言えない場合、この問題の解決策はありますか?

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

mysql - MAMP を PDO-MySQL で動作させる際の問題

問題: ドライバーの問題により、Doctrine テスト アプリケーションが機能しません。

セットアップ: Mac OS X 10.5.7 (サーバーではない)、MAMP 1.7.2、Doctrine 2.2.1、PHP 5.2.6

ドクトリンのドキュメントに従って、ローカル マシンに開発環境をセットアップしようとしています。Web から (MAMP を介して) ページを実行した場合の出力には、空の画面が表示されます (MAMP を介してエラーが表示されないためと想定しています)。テスト環境 (Debian Lenny) でページを実行すると、すべてが完全に機能し、画面に出力が表示されます。

私は何時間もそれを理解しようとしてきましたが、できませんでした。どんな洞察も高く評価されます。

コマンドラインから実行した場合の出力は次のとおりです。

ここにtest.phpがあります

これがbootstrap.phpです

MAMP ページで phpinfo() を実行すると、PDO-MySQL がインストールされているように見える数行が表示されます

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

php - symfony での Doctrine マイグレーションはモデルとフォームを更新しません

私は symfony で Doctrine の移行をテストしてきましたが、最終的に動作するようになりましたが、これらの移行はデータベースのみを更新することに気付きました。期待どおりにフォームとモデルが更新されません...

これは正常ですか?正常な場合、データベースに加えられた変更でモデルを更新する方法はありますか?