2015-09-24 4 views
1

Laravel 5.1класса не существует для Laravel маршрутов

Это кажется мне странным:

Route::group([ 
    'middleware'=>['auth','acl:view activity dashboard'], 
    'prefix' => 'api/v1' 
], function(){ 
    Route::controller('investment-transactions', 'Api\V1\Investments\InvestmentTransactionsController'); 
    Route::controller('investment-transactions/{offeringID}', 'Api\V1\Investments\[email protected]'); 
}); 

Кажется довольно нормально для меня, контроллер:

namespace App\Http\Controllers\Api\V1\Investments; 

use App\Brewster\Models\Company; 
use App\Http\Requests; 
use App\Http\Controllers\Controller; 

use Illuminate\Http\Request; 

class InvestmentTransactionsController extends Controller { 

    public function __construct() { 

    } 

    public function getIndex() { 
     echo 'Here'; 
    } 

    public function getTransactionsForOffering($offeringID) { 
     echo $offeringID; 
    } 
} 

Ok так действие и контроллер выходят, но когда я запускаю: php artisan routes:list Я получаю:

Ну очевидно App\Http\Controllers\Api\V1\Investments\[email protected] не является классом, как всегда: App\Http\Controllers\Api\V1\Investments\InvestmentTransactionsController is and getTransactionsForOffering - это действие.

Что происходит?

+0

Попробуйте 'Route :: controller ('investment-transaction', 'InvestmentTransactionsController @ Index'); Route :: controller ('investment-transaction/{offerID}', 'InvestmentTransactionsController @ getTransactionsForOffering'); ' – aqq

+0

Каков путь вашего пользовательского контроллера? – aldrin27

ответ

0

Я считаю, что вам нужно всего лишь ссылаться на класс следующим образом:

Route::controller('investment-transactions','[email protected]'); //make sure you create a function for the index 
Route::controller('investment-transactions/{offeringID}', '[email protected]'); 

Предполагая, что вам нужно, чтобы показать вид на маршрут investment-transactions создать следующую функцию в контроллере:

public function index() 
{ 
    return view('name-of-your-view-file'); 
} 
+0

Когда я делаю это, я получаю: 'App класса \ Http \ Controllers \ Api \ V1 \ Investments \ InvestmentTransactionsController @ Index не существует' Когда я пытаюсь '@ getIndex', его та же ошибка, но с' @ getIndex' @aqq – TheWebs

+0

Каков путь вашего контроллера? – aqq

0

Я верю, что ваша проблема заключается в маршрутах. Php мы можем использовать контроллеры следующим образом:

Route :: get ('investme nt-transaction ',' InvestmentTransactionsController @ index ');

Route :: get ('investment-transaction/{offerID}', 'InvestmentTransactionsController @ getTransactionsForOffering');

По умолчанию наши контроллеры хранятся в App/http/контроллеры папка и laravel это знают.

Смежные вопросы