2017-05-26 9 views
0

これらのページに基づいてすべてのdoctrineテーブルに接頭辞を追加しようとしています: docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/sql -table-prefixes.htmlと stackoverflow.com/questions/7504073/how-to-setup-table-prefix-in-symfony2サービスの引数を変更するためのsymfonyの依存関係注入

私も接頭辞定義の構成を使用して依存性注入を使用しています。 symfony.com/doc/current/service_container/definitions.htmlとsymfony.com/doc/current/bundles/configuration.html

残念ながら、設定で定義された値を使用してテーブルをプレフィックスにすることはできません。 しかし、私は手動でサービス定義の引数の値を変更すると動作しています。

私のプロジェクトはここでホストされていますhttps://github.com/GrenobleSwing/API

ファイルを参照してください。

  • のsrc/GS/ApiBundle /リソース/設定/ services.yml
  • のsrc/GS/ApiBundle/EventSubscriber/TablePrefixSubscriber。 PHP
  • のsrc/GS/ApiBundle /依存性の注入/ Configuration.php
  • のsrc/GS/ApiBundle /依存性の注入/ GSApiExtension.php

ご協力いただきありがとうございます。

ジュリアン

+0

あなたが見つからないと思います ルート名はここにあります:https://github.com/GrenobleSwing/API/blob/master/src/GS/ApiBundle/DependencyInjection/GSApiExtension.php#L29。そうでなければ '$ config'に何が入っていますか? –

+0

こんにちは、$ configには設定が含まれています。 var_dump($ config ['doctrine_table_prefix'])はプレフィックスに期待値を与えています。 –

+0

また、依存関係注入($ def-> replaceArgument(0、 'something_');)でプレフィックスをハードコードしようとすると、動作しません。 –

答えて

0

私は、あなたのリポジトリをクローン化された容器にアプリを実行し、間違っているものを見つけました。

that lineを削除します。

なぜですか?

これは同じ構成を2回ロードし、configにロードされた構成を使用してDoctrineのイベントサブスクライバを登録しました。したがって、GSApiExtension内の変更は省略されました。

自分で確認してください。

+0

ありがとう、私はこれを見つけたことはありません。 –

関連する問題