2017-04-14 6 views
-1

コントローラー外でドクトリンを取得しようとしましたが、何かがうまくいかず、理由がわかりません。コントローラー外の教訓を取得

services: 
    doctrine.service: 
     class: App\DesktopBundle\Lib\DoctrineService 
     arguments: [ "@doctrine.orm.entity_manager" ] 

そしてDoctrineServiceファイル:

namespace App\DesktopBundle\Lib; 

use Doctrine\ORM\EntityManager; 

class DoctrineService 
{ 
    protected $manager; 

    public function __construct(EntityManager $manager) 
    { 
    $this->manager = $manager; 
    } 
} 

そして、私は、このファイルに教義を取得したい:

namespace App\DesktopBundle\Lib\Game; 

use App\DesktopBundle\Entity\OnelevelHistory; 
use App\DesktopBundle\Lib\DoctrineService; 
use Symfony\Component\Yaml\Yaml; 
use Doctrine\ORM\EntityManager; 

class OneLevel{ 
} 

しかし、私ドン

だから私は、サービスを作成しましたこれまでに作成されたこのサービスを呼び出す方法はわかりません。私を助けてくれますか?

+0

申し訳ありませんが、私は考えていません – user7424312

+0

"何かが間違っている"とは何ですか? – COil

+0

しかし、どうすればいいですか?「@ doctrine.orm.entity_manager direcltyを呼び出して注入しますか? – user7424312

答えて

1

OneLevelクラスにORMエンティティマネージャを直接注入しなかったのはなぜですか?

+1

質問者は、new演算子を使用する代わりに、OneLevelサービスをコンテナから取得する必要があることを理解していないためです。彼らは最終的にdocs、http://symfony.com/doc/current/service_container.htmlを読んで、それを理解するか、別のフレームワークに移動するだけです。 – Cerad

+0

@scoolnico、OneLevelの構造に他のパラメータがあるとどうなりますか? 'public function __construct($ game_name、$ user_id){}'? – user7424312

+0

@ user7424312あなたの投稿を編集し、OneLevelが何をすべきか説明してください。エンティティ?コントローラ?サービス? –