2016-08-03 5 views
1

번역 파일을 조작하기 위해 waavi 패키지를 설치했습니다. 컨트롤러를 사용하여 메서드를 사용해야합니다. 나는 이런 식으로 뭔가를 시도했지만 이것은 성공적 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

의 시작에 사용하고 무엇

LanguageRepository::findByLocale(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

관련 문제