jeremy castelli jeremy castelli - 5 months ago 43
PHP Question

Laravel same route, different controller

I would like to have general home page
and a different homepage for logged-in users

I search a lot on google but I can't find what to put in my if statement

I tried something like this:

Route::get('/', array('as'=>'home', function(){
if (!Auth::check()) {
Route::get('/', array('uses'=>'homecontroller@index'));
}
else{
Route::get('/', array('uses'=>'usercontroller@home'));
}
}));


I also try with something like:

return Controller::call('homecontroller@index');


but it seems it's not for laravel 4


I tried a lot of other things so I think it's more a misconception problem

If you have any clue

thanks for your help

Answer

The most simple solution I can think of is:

<?php

$uses = 'HomeController@index';
if( ! Auth::check())
{
    $uses = 'HomeController@home';
}

Route::get('/', array(
     'as'=>'home'
    ,'uses'=> $uses
));

Or you can just route the url / to method index() and do the Auth::check() in there.