Pergunta

Aqui é a minha rota:

Route::controller('/app/{companyId}/', 'HomeController', array('before' => 'auth'));

Como posso recuperar $companyId argumento __construtor para evitar a recuperação é separado em todas as minhas ações?

Foi útil?

Solução

Se você deseja obter os parâmetros de __construção de seu controlador, você pode fazer este:

class HomeController extends \BaseController
{
    public function __construct()
    {
        $this->routeParamters = Route::current()->parameters();
    }
}

ele irá retornar um valor de chave lista de parâmetros para a rota (ex.: ['companyId' => '1']) @consulte \Iluminar outing ota

Você também pode obter um parâmetro específico usando o getParameter() ou parâmetro() métodos.

NOTA: Eu não tenho certeza se isso é uma grande idéia tho.Pode haver uma forma mais elegante de resolver ou melhor abordagem para o seu problema.

Outras dicas

Se você deseja tornar o processo mais simples, rota de associação de modelo parece ser a maneira mais fácil de ir.Em vez de ter que buscar para o Modelo certo de instância em cada ação do seu controlador, você passa o Modelo certo para o seu controlador durante o processo de roteamento.

Mas você tem que usar o Route::recurso.No routes.php :

Route::bind('company', 'Company');
Route::resource('company', 'HomeController');

Em seguida, você tem uma instância de categoria passada para o controlador.Por exemplo, para /empresa/1 :

public function show($company)
{
    // Here you can use, for instance, $company->name
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top