2016-08-03 8 views
1

翻訳ファイルの操作のためにwaaviパッケージをインストールしました。私はそれのコントローラから私の方法を使用する必要がありますか?私はこのような何かをしようとしたが、それは別のコントローラーのメソッドを使用する方法

LanguageRepository::findByLocale(1); 

を動作しません。これは、あなたが成功しhereのすべてのステップを行っている場合は、私は私のコントローラ

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use Waavi\Translation\Repositories\LanguageRepository; 

use Waavi\Translation\Repositories\TranslationRepository; 

use Illuminate\Foundation\Application; 
+0

あなたは正しい名前空間を使用していますか?その方法は静的ではありません – Cranio

+0

コントローラーの始めに使用しているコードを追加しました – OunknownO

+0

使用するコントローラーを拡張してそこでメソッドを呼び出します。 – TheFallen

答えて

1

の初めに使用しています、あなたはどうあるべきかでありますdepedency注入を使用してLanguageRepositoryにアクセスすることができ

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Requests; 
use Waavi\Translation\Repositories\LanguageRepository; 

class DefaultController extends Controller 
{ 
    private $language_repository; 

    function __construct(LanguageRepository $language_repository) 
    { 
     $this->language_repository = $language_repository; 
    } 

    public function index() 
    { 
     dd($this->language_repository->findByLocale("en")); 
    } 
} 
(「あなたが依存性注入によって、このクラスをインスタンス化することをお勧めします」)

注:findByLocaleメソッドには、idの代わりに言語文字列を渡す必要があります。 line 97

関連する問題