問題タブ [doctrine-extensions]

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 に答える
1186 参照

symfony - 新しい Doctrine イベント サブスクライバー (SoftDeleteable) を登録するときの symfony 例外

Symfony 2.3 を Sonata Admin Bundle with DoctrineExtensions ( StofDoctrineExtensionsBundleで有効化) で使用しています。SoftDeleteable および Timestampable コンポーネントを有効にして構成し、正常にテストしました。

ここで、Symfony タグ付きサービスを使用して別の Doctrine イベント サブスクライバーを追加しようとすると、softdeleteable リスナーが無効になっているように見えます。

私のサービス:

加入者:

各リクエストで例外が発生します:

サブスクライバーを無効にすると、問題はなくなります。イベント サブスクライバーを有効にして、softdeleteable も使用するにはどうすればよいですか?

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

symfony - generateUrl は childrenHierarchy では機能しません

ドクトリン拡張ツリーで generateUrl を使用する

活動中

エラー:

FatalErrorException: エラー: オブジェクト コンテキストではないときに $this を使用する

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

symfony - Symfony の Doctrine アップロード可能な拡張機能

doctrine のアップロード可能な拡張機能がどのように機能するかを理解し、Symfony プロジェクトで使用できるようにするために、このドキュメントを読みました。

問題は、オブジェクトが呼び出されているのを見て、$listenerそれがどこから来たのか本当にわからない使用例にあります。

コントローラーの 1 つで同様のコードを使用するつもりですが、そのリスナーをインスタンス化する方法や、どこから取得するかがわかりません。

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

upload - doctrine-extensions アップロード可能、Zend Framework 2 での使用方法は?

プロジェクトにドクトリン拡張を統合しました。Timestampable は例として機能しています。しかし、「アップロード可能」動作を使用するにはどうすればよいでしょうか?

このドキュメントを読みました。彼らは の使用について使用部分$listenerに書いていますが、どうすればこの変数を取得できますか? 私のコントローラーまたはサービスで?それはどこから来たのですか?

アドバイスをありがとう...

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

php - DoctrineExtensions、エンティティは現在のロケールで翻訳されていますか?

エンティティを翻訳するために DoctrineExtensions を使用しています。それは本当にうまく動作しますが、この問題を解決する方法がわかりません:

DB クエリを減らすために、翻訳フォールバック、個人的な翻訳、ORM クエリ ヒントを使用します。翻訳が存在しない場合は、デフォルト値にフォールバックします。ここまでは、問題ありません。

しかし (これは私の質問です)、エンティティがデフォルト値に戻ったことをどのように知ることができますか? つまり、エンティティに翻訳がない場合、それを確認する方法はありますか?

たとえば、翻訳がないときはいつでもこのエンティティを何らかの形で処理したい場合。何かのようなもの :

もちろん、簡単にするために、すべてのフィールドが翻訳されているかどうかを考慮します。

私は十分に明確であったことを願っています。

ありがとう

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

forms - Gedmo TreeSlugHandler を使用したスラッグの編集

Symfony 2 の Gedmo Tree Doctrine 拡張機能を使用して階層化されたエンティティがあります。Category エンティティのコードは次のとおりです。

というタイトルのカテゴリと というタイトルのBandsサブカテゴリがあるRock場合、後者のカテゴリは作成時に のスラッグを持ちbands/rockます。これは期待どおりに機能します。

ただし、スラッグ フィールドをフォームに追加すると、エンティティを編集すると、最初にbands/rockフォーム フィールドに追加されます。これを変更しbands/rock-and-rollてフォームを送信すると、スラッグが更新され、期待どおりにはbands/bands-rock-and-rollなりませんbands/rock-and-roll

カテゴリを編集してスラッグ フィールドを に設定しrock-and-roll、フォームを送信すると、スラッグが に更新されbands/rock-and-rollます。スラッグはrock-and-roll更新後になると思います。

この動作を修正するにはどうすればよいですか? 基本的に、スラッグが提供されていない場合はハンドラーで自動生成されますが、提供されている場合は提供したものに正確に設定されます。

ありがとう

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

forms - Symfony2: A2lixTranslationFormBundle と Gedmo\DoctrineExtensions Translatable を使用して翻訳フォームをレンダリングする際の問題

私はエンティティを翻訳するためにgedmo/doctrine-translationsとを使用しています。a2lix/translation-form-bundle: 2.*@dev

翻訳フォームは常にフィールドコンテンツをレンダリングしますが、エンティティ自体にはフィールドまたはコンテンツフィールドが含まれていません。

フォームタイプ

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

doctrine-orm - Doctrine から年の接頭辞を付けたスラッグを自動生成する

Symfony 2.4 アプリケーションで Doctrine からスラッグを自動生成したいと考えています。このスラッグは、レコードが作成された年に基づいて一意です。DoctrineExtensions を使用しています。

私のブログの記録では、ルートを/blog/{year}/{slug}

だから私はこれらの2つのレコードを持っているとしましょう

id: 1 title: My Blog Title createdAt: 2013-08-14 18:48:21

id: 2 title: My Blog Title createdAt: 2014-02-01 17:12:10

my-blog-titlecreatedAt に基づく一意のレコードであるため、両方のスラッグを にしたい

したがって、私の2つのルートは次のようになります

/blog/2013/my-blog-title /blog/2014/my-blog-title

ただし、これを機能させることができないようです:

これが私のorm.ymlの関連部分です

fields: title: type: text slug: type: text gedmo: slug: unique_base: createdAt fields: - title createdAt: type: datetime gedmo: timestampable: on: create

これは、createdAt がすべてのレコードに対して一意であるため、私のレコードのいずれか 2 つがまったく同じ作成日を持つことはほとんど不可能であるため、機能します。

したがって、3 番目のレコードを追加すると:

id: 3 title: My Blog Title createdAt: 2014-03-02 17:12:10

同じスラッグを使用できます-my-blog-title

私のorm.ymlファイルで、次のようなことができるようにしたい

unique_base: createdAt("Y")

そのため、作成した日付の年のみがベースとして使用されるため、レコードが異なる年にある場合は同じスラッグを持つことができますが、レコードが同じ年にある場合は同じスラッグを持つことはできません。

ナメクジ自体に日付を取り込むことができることを知っています

2014-my-blog-titleしかし、それは次のように見える必要があります2014/my-blog-title

誰かがこれを手伝ってくれませんか?

どうもありがとう!!!

0 投票する
0 に答える
688 参照

symfony - カスタム マッピング タイプで Sluggable を使用するには?

Symfony2 プロジェクトでは、この StackOverflow questionで提案されているように、データベース内の文字列を暗号化するためにカスタム マッピング フィールドを作成しました。Gedmo\Sluggable Doctrine 拡張機能を使用して、データベース フィールドの 1 つをスラッグ化したいと考えています。しかし、「encrypted_string」は許可されたタイプではないため、明らかに次のエラーメッセージが表示されます。

[Gedmo\Exception\InvalidMappingException]
フィールドを使用できません - [username] はスラッグ ストレージに使用できません。タイプは無効であり
、クラスの「文字列」または「テキスト」である必要があります - My\PrivateApplication\Bundle\UserBundle
\Entity\User

--編集-- これは私のエンティティです:

クラス Gedmo\Sluggable\Mapping\Driver\Annotation のプロパティ $validTypes は、sluggable の有効な型を定義しているようです。新しいカスタム タイプを使用するように SluggableListener を変更するにはどうすればよいですか?

どうもありがとうございました。