如何在另一个控制器中使用方法

时间:2016-08-03 08:45:36

标签: php laravel model-view-controller laravel-5 laravel-5.1

我已经安装了waavi包来处理翻译文件。我需要使用它控制器的方法来挖掘?我试过这样的事情,但它不起作用

LanguageRepository::findByLocale(1);

这是我在控制器开头使用的

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;

1 个答案:

答案 0 :(得分:1)

如果您已成功完成here中的所有步骤,您应该能够使用依赖注入访问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"));
    }
}

注意:您需要将语言字符串而不是id传递给findByLocale方法。见line 97