問題タブ [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.
doctrine - DB から生成されたモデルのカスタム リレーション名
データベースからモデルを生成していますが、次のようなものが得られます。
教義、関係の名前は何であるべきかを伝える方法はありますか。たとえば、次のようなものを取得するには:
YAML ファイルからモデルを生成するか、ゼロからモデルを作成する場合は可能ですが、DB からモデルを生成する場合は可能ですか?
schema - Doctrine schema.yml ジェネレーター
私は教義にかなり慣れていません。私は自分自身のためにドクトリンで2つの小さなプロジェクトを作成しましたが、今はクライアントのために大きなプロジェクトを作成しようとしています. プロジェクトには 50 を超えるテーブルが含まれます。schema.yml を生成する方法はありますか? DB Designer を試して schema.yml に変換しましたが、定義を確認して手動で書き直す必要がありました。ありがとう
php - Doctrine / Symfonyで小さなスキーマ更新を行うための最良の方法は何ですか?
symfony / doctrineアプリケーションに小さなスキーマ更新を行うための最良の方法は何ですか?
私の問題は、新しいサイドプロジェクトに取り組んでいて、必要に応じてここに新しい列を追加していることに気付くことがあります。ただし、私のDBにはすでに既存のデータがあり、完全な再構築を実行して、毎回変更を加えてDBを削除したくありません。
私も備品を書きたくありません。それらは煩わしいものであり、私のアプリケーションを使用してデータを挿入し、開発中にデータを保持する方がはるかに簡単です。また、特にこれを頻繁に行う場合は、1つまたは2つの列を追加するための移行を記述したくありません。
私の唯一の選択肢は次のとおりです。
- スキーマファイルに変更を加え、スキーマを変更するたびにデータベースをワイプします-または-
- スキーマファイルを更新し、データベースでalterステートメントを手動で実行します
最終的に、私がやりたいのは、データベースに変更を加えてsymfonyにスキーマファイルの外観を理解させるか、スキーマファイルに変更を加えてsymfonyに既存の変更にどのような新しい変更を加えるかを理解させることです。データベース。
助けてください!
ありがとう。初めてSOを使用するときは、応答が返ってくるかどうか楽しみです。
php - 特定の行のビューを追跡する
ユーザーがかなりの数の投稿を表示できるサイトがあります。これが完了するたびに、 のようなクエリを実行しますUPDATE table SET views=views+1 WHERE id = ?
。ただし、このアプローチにはいくつかの欠点があります。
- ページビューがいつ発生したかを追跡する方法はありません。単純に増分されます。
- 私が理解している限り、テーブルを更新すると、行の MySQL キャッシュがクリアされることが多いため、その行の次の SELECT が遅くなります。
object_views { object_id, year, month, day, views }
したがって、各オブジェクトに 1 つの行 pr があるように、テーブルを作成するアプローチを採用することを検討します。この表の日。次に、テーブルのビュー列を定期的に更新して、objects
高価な結合を常に行う必要がないようにします。
これは私が考えることができる最も簡単な解決策であり、パフォーマンスへの影響が最も少ない解決策でもあるようです。同意しますか?
(サイトは PHP 5.2、Symfony 1.4、および Doctrine 1.2 で構築されています)
編集:
目的はウェブ分析ではありません-私はそれを行う方法を知っており、それはすでに実施されています。次の 2 つの目的があります。
- 今日や昨日など、特定のオブジェクトが表示された回数をユーザーが確認できるようにします。
- サイトのモデレーターが、Google アナリティクスや Omniture などのソリューションにアクセスせずに、簡単なビュー統計を表示できるようにします。さらに、バックエンドの結果はリアルタイムである必要があり、現時点では GA が提供できない機能です。Analytics API を使用して使用状況データを取得したくありません (リアルタイムではなく、GA には JavaScript が必要です)。
php - PHPDoctrineと名前空間の関係
PHP名前空間を使い始めたばかりです。別々のファイルに2つのモデルクラスがあります
両方のファイルで最初に名前空間を宣言します
名前空間eu\ed \ sixImport \ importViewer \ models;
ファーストクラス:
クラスLogは\Doctrine_Recordを拡張します
2番目のクラス:
クラスDataSourceは\Doctrine_Recordを拡張します
私がこのようなものを作るまで、すべてがうまくいきます
Doctrineが例外をスローするよりも例外がキャッチされませんでした'Doctrine_Exception'とメッセージ'Couldn't find class eu \ ed' in C:\ wamp \ www \ importViewer \ resources \ doctrine \ Doctrine-1.1.5 \ lib \ Doctrine \ Table.php:293 ..。。
例外から、クラス'eu\ed'を探していることがわかります。バックスラッシュはクラス名の残りの部分を切り取り、クラスよりも明らかに見つかりません。この問題を解決する方法について、いくつか提案をいただけますか?
ありがとう
php - Symfony 1.2 で Doctrine 移行の down メソッドを呼び出すにはどうすればよいですか?
sfDoctrinePlugin で Symfony 1.2 を使用しています。
移行時にメソッドを呼び出すコマンドが見つかりませんでした。ドキュメントも、既存のコマンドdown
に関連する引数を示唆していません。
正常に実行した移行をロールバックするにはどうすればよいですか? 元に戻すための新しい移行を作成することはオプションですが、それはほとんど冒涜的で明らかにばかげています。doctrine migrate
doctrine - ミューテーターとアクセサーは Doctrine で何をしますか?
このドキュメントでは、Doctrine でミューテーターとアクセサーを使用する方法について説明しますが、それらが何であるかについては説明しません。
ミューテーターとアクセサーが何をし、それらが何であるかを説明できる人はいますか?
前もって感謝します。
php - Doctrine にクラス名からテーブルプレフィックスを削除させる方法は?
Doctrine 1.1.5 を使用していますが、 Doctrine::generateModelsFromDbまたはDoctrine:: generateModelsFromYamlを呼び出すときに、ファイルとクラス名からテーブル プレフィックスを削除するオプションがあるかどうかを知りたいです。
編集: たとえば、mo_article、mo_language、mo_article_text などのテーブルがあります。Doctrine が (上記の関数を使用して) モデルを生成すると、クラス名は MoArticle、MoLanguage、MoArticleText になりますが、Article にしたい、Language、ArticleText... モデル クラス名にテーブル プレフィックスを追加しないように、これらの関数にオプションはありますか?
ありがとうございました
php - PHP 教義の検証
私は教義を使用しており、いくつかのモデルを検証しようとしています。
YAML スキーマには次のものがあります。
新しいユーザーを作成すると、与えた値に関係なく、常に検証されます。
例えば:
編集: 上記は単なる例です。スキーマで NOT NULL として指定された値が省略された場合でも、検証されます。
無効なメソッドは生成されません。誰がこれを引き起こしているのか知っていますか? アドバイスをいただければ幸いです。ありがとう。
php - アポストロフィを引用する教義
PHPとZend MVCにDoctrine ORMを使用しています。私はmysqlデータベースを持っています。データベースに挿入すると、引用符がエスケープされます。つまり、私が入るとき
私のフォームに入れ、ドクトリンオブジェクトに割り当てて保存してください。
mysqlコマンドラインからデータベースを見ると、
stripslashes()
これを無効にする方法はありますか、それとも各変数を呼び出す必要がありますか?