未找到Laravel控制器方法

时间:2014-05-28 04:13:40

标签: php laravel-4

尝试运行以下Laravel 4.1路由:http://myserver.dev/admin/import-items/1

当我这样做时,我收到以下错误:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Controller method not found.

以下是我的路线:

Route::group(array('prefix' => 'admin', 'before' => 'auth'), function()
{
    Route::get('items/import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

    Route::get('items/{id}/show', 'ItemsController@show');
    Route::resource('items', 'ItemsController');
});

我可以查看Items控制器,方法importItems绝对是:

class ItemsController extends \BaseController {

    /**
     * Item Model
     * @var Item
     */
    protected $item;

    /**
     * Inject the models.
     * @param Item $item
     */
    public function __construct(Item $item)
    {
        parent::__construct();

        $this->item = $item;
    }

    /**
     * Display a listing of items
     *
     * @return Response
     */
    public function index($items = [])
    {
        $title = Lang::get('admin/items/title.manage_items');

        if (empty($items))
            $items = $this->item;

        return View::make('admin/items/index', compact('items', 'title'));
    }

    /**
     * Imports Items after specified date.
     * @return array
     **/
    public function importItems($after = 7)
    {

        $results = Item::importItems($after);

        return $results;
    }
}

当我运行php artisan routes时,路线显然在列表中显示为可用:

GET|HEAD admin/items/import-items/{after?} | importItems   | ItemsController@importItems

问题是,这个确切的代码在我使用它的另一个项目中运行得很好。在我复制了路径设置和控制器和模型后,它决定不在这个新项目中工作。我觉得我在这里错过了一些关键步骤,因为我无法看到代码中的任何差异。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您使用的是错误的网址。这个网址:

http://myserver.dev/admin/import-items/1

应该是这个

http://myserver.dev/admin/items/import-items/1

Route::get('items/import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

应该是

Route::get('import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

...取决于你想要的网址