問題タブ [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.
php - Doctrine Named Queries: クエリ呼び出しの制限を指定する
次のようなものを想像してみましょう。
後で、次のようなことができます。
名前付きクエリを定義するときではなく、使用するときに制限を設定する方法はありますか? 私は本当に次のようなことをしたいと思います:
また
事前にthx!:-)
php - PHP Doctrine ORM を使用した複雑な WHERE 句
PHP Doctrine ORM を使用してクエリを作成しています。しかし、DQL (Doctrine Query Language) を使用して次の WHERE 句を記述する方法がよくわかりません。
括弧の位置を指定するにはどうすればよいですか?
私が現在PHPコードに持っているのはこれです:
しかし、これは次のようなものを生成します
操作の順序が原因で、意図した結果が返されません。
また、「where」、「andWhere」、および「addWhere」メソッドに違いはありますか?
UPDATE わかりました、DQL を使用して複雑なクエリを実行することはできないようです。そのため、手動で SQL を記述し、andWhere() メソッドを使用して追加しようとしています。ただし、私は WHERE..IN を使用しており、Doctrine は囲み括弧を削除しているようです:
php - Doctrine raw sql と準備済みステートメント
準備済みステートメントを使用した Doctrine_RawSql クエリがあります。ただし、SQL クエリが生成されると無視されるようです。しかし、トークン値を省略すると、バインドされた変数の数が一致しないという例外が発生します (したがって、少なくともそれらをサブしようとしています)。
これらの値をインラインで含めた場合、Doctrine は SQL インジェクションを防ぐために舞台裏で何かをしていますか?
これが私のコードです:
これにより、次の SQL 出力が提供されます。
編集: のプロパティ$location
が適切に設定されています。パラメータをハードコーディングした場合:
トークンが置き換えられないという同じ問題が発生します。
php - Doctrine_RawSql カスタム選択
カスタム選択で doctrine_rawsql を生成するのに問題があります。
これは私のrawsqlです
私が行うと$q->getSql()
、距離は生成されたSQLに表示されません。
何か案は?私は何か間違ったことをしていますか?
php - 教義の記録はどの程度行うべきですか?
私は独自の CMS を作成しており、データベースに doctrine を使用しています。
Post レコードをクレートするとき、そのレコードはどのくらいの作業を行うべきなのだろうか?
例:
私は Post -> Categories リレーション (1 対多) を持っています。別の関数を作成してカテゴリを追加する必要があります (Post が既にカテゴリを持っているかどうかなどを確認するため)、または Post はアクセサー/ミューテーターを使用してそれを行う必要がありますか?
ベストプラクティスは何ですか?
php - Doctrine ORM で「存在する場合は更新」を実装する
私はINSERT OR UPDATE IF EXISTS
1回の取引でしようとしています。
mysqlでは、通常DUPLICATE KEY
("UPDATE ON DUPLICATE KEY") を使用します。さまざまな SQL バリアントとサブクエリを使用して、この問題に対する多くの解決策を認識していますが、Doctrine (PHP ORM) でこれを実装しようとしています。機能が満載なので、これを行うためのDoctrineメソッドがあるようですが、何も見つかりません。このようなことは、何らかの理由で PHP ORM パッケージを使用すると問題になるのでしょうか? それとも、ハックや何らかの手段でこれを達成する方法を知っている Doctrine の専門家はいますか?
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')」と言うことはできますか?
そのようなことが言えない場合、この問題の解決策はありますか?
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 がインストールされているように見える数行が表示されます
php - symfony での Doctrine マイグレーションはモデルとフォームを更新しません
私は symfony で Doctrine の移行をテストしてきましたが、最終的に動作するようになりましたが、これらの移行はデータベースのみを更新することに気付きました。期待どおりにフォームとモデルが更新されません...
これは正常ですか?正常な場合、データベースに加えられた変更でモデルを更新する方法はありますか?