問題タブ [stofdoctrineextensions]

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

symfony - エンティティの更新時に DoctrineExtensions Uploadable が現在の値を保持しない

Uploadable 拡張機能を使用していますが、とても満足しています。Uploadable (写真) として 1 つのフィールドを持つエンティティがあり、別のフィールドはその写真の注釈 (注釈) です。最初にエンティティを作成するときに、ファイルを選択して注釈を付けるとすべて正常に機能しますが、注釈だけを更新すると、以前にアップロードされた写真の保存されたパスが失われます。そのフィールドにnullが来る場合、古い値を保持する方法はありますか?

これが私のエンティティです。

そして、これは私のコントローラー部分です:

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

symfony - Gedmo教義ツリー拡張でparent_idを使用して既存の階層がある場合、「クロージャー」テーブルにデータを入力する方法は?

parent_id 列を持つ既存のカテゴリ階層があります。Gedmo ツリーの拡張機能と更新スキーマを構成しました。「レベル」列がカテゴリ テーブルに追加され、category_closure テーブルが作成されていることがわかります。

category_closure テーブルにデータを入力するにはどうすればよいですか。ここにはない

ClosureTreeRepository のメソッド。TreeListenerをトリガーするようにカテゴリレコードを更新しようとしましたが、まだcategory_closureにデータがありません。

category_closure テーブルに階層を設定するにはどうすればよいですか?

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

symfony - symfony2 移行バンドルは移行を拒否します

こんにちは、ページ CRUD でスラッグと画像のアップロードを stofdoctrinebundle と vichuploaderbundle に統合しました。

エンティティは次のとおりです。

doctrine migrationbundle で移行しようとすると、「構文エラーまたはアクセス違反: 1061 キー名が重複しています ...」というエラーが表示されます。

データベースには、この一意のインデックスが既にあります。

ここに画像の説明を入力

移行がそれを追加したい理由が理解できません。

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

php - StofDoctrineExtensionsBundle 翻訳可能

StofDoctrineExtensionsBundle から Translatable を実装した 2 つの言語で Symfony 2 アプリを構築しています。Translatable は他のテーブル ext_translations を作成し、翻訳を保存します。

翻訳に使用するテーブルは次のとおりです(オブジェクトテーブル):

ここに画像の説明を入力

テーブル ext_translations (ext_translations テーブル) は次のとおりです。

ここに画像の説明を入力

コードを実行して、何らかの理由で翻訳を ext_translations テーブルに保存すると。

作成時にオブジェクト テーブルにタイトルを書き込みますが、後で更新すると、ext_translations テーブルのみが更新されます。

2 つの言語を持つ symfony 2 で更新と作成をどのように処理しますか?

これらの入力のコピーを作成し、1 回の送信で保存する必要がありますか。たとえば、オブジェクトテーブルでは、タイトルが必要ですか:

そして、それらが送信されたら、パラメーター local を変更します。

そして、上のコードを提出してください。この種のアプリケーションに最適なソリューションは何ですか?

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

symfony - Symfony2: EasyAdminbundle + StofDoctrineExtensionsBundle + VichUploaderBundle

管理に EasyAdminBundle を使用するプロジェクトがあります。「投稿」と呼ばれる 1 つのエンティティには、変更について追跡したい「タイトル」、「画像」、および「投稿」フィールドがあります。プロパティ「image」には、画像のファイル名のみが保存されます。完全なアップロード プロセスは、VichUploaderBundle によって管理されます。

履歴に使用されるため、変更時に古いイメージ ファイルが削除されないようにするには、どのように/どこでメッシュを作成できますか?

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

symfony - Symfony2 / Doctrine 2 : Sluggable 拡張 : onFlush または postUpdate イベント中に slug 値にアクセスする

ImageRestaurantエンティティと 1 対 1 の関係を持つ Restaurant エンティティがあります

1 つのフォームを使用して両方のエンティティを編集できます (ImageRestauranType は RestaurantType に埋め込まれています)。

Restaurantエンティティにはslugがあり、これはStofDoctrineExtensionsBundleのおかげで生成され、Gedmo\Sluggable アノテーションを使用しています。

Restaurantエンティティが更新され、slug属性が再生成されるたびに、 slug属性 (たとえば、 slug.jpg ) を使用して、 ImageRestaurantエンティティにリンクされているファイルの名前を変更しようとしています。ImageRestaurantエンティティのname属性も変更したいと考えています。

Doctrine イベントを使用する 2 つのオプションがあります。

  1. onFlush イベント:

更新予定のエンティティ ( Restaurant ) にアクセスできますが、現時点では、更新されたスラッグにはアクセスできません。そのため、ファイルとImageRestaurantエンティティを更新できません。

  1. postUpdate イベント:

更新されたスラッグにアクセスできますが、ドキュメントで説明されているように、このイベントはデータベースの永続性には関係ありません:

3 つの投稿イベントは、EntityManager#flush() 内で呼び出されます。ここでの変更はデータベースの永続性とは関係ありませんが、これらのイベントを使用して、マップされていないフィールド、ロギング、Doctrine によって直接マップされていない関連クラスなど、永続化できないアイテムを変更できます。

このイベントでは、エンティティ ID にアクセスできるので、エンティティRestaurant (新しく更新されたもの) とImageRestaurantの両方をデータベースから取得し、ファイルとImageRestaurant updateに進むことができると考えました。

これをどのように達成できるかについてのアイデアはありますか?

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

doctrine-orm - symfony3、doctrine2、stofDoctrineExtensionsBundle を使用して Gedmo ツリー要素のパスを取得する方法

ツリー構造を管理するために、Symfony v3.0.4、Doctrine v2.5.4、および StofDoctrineExtensionsBundle [1] を使用しています。

ツリー構造をセットアップするには、Symfony.com [2] のドキュメントを使用し、続いて GitHub [3] のドキュメントを使用しました。

次に、ツリーのセットアップに進みました。例 [4] のツリー エンティティを使用し、[5] のコードを使用してツリーを作成しました。

[6] と [7] は必要ないように思われるので使用しませんでした (ツリーが動作し、それがなくても表示されることがわかる限り)。更新を参照してください。

これまでのところ、データベースにツリー構造があり、それを表示するために例 [8] を変更しました。このような:

次のように1行を変更すると:

ツリーの各要素へのパスを取得するために、エラーが発生します:

[9] で見られるように、NestedTreeRepositry にはメソッド getPath() があります。

更新: [6] を試しましたが、設定できませんでした。それから [7] セットアップを試みましたが、それでもエラーは同じままです!

お知らせ下さい。お時間と知識をありがとうございました。