Laravel Undefined Offset:1 - 由路由引起

Jho*_*rra 1 php laravel laravel-4

我在尝试拨打电话时收到错误消息 /api/subject/search

我认为这是一个我遗漏的简单语法错误

我的api路线定义如下

Route::group(array('prefix' => 'api'), function()
{
    Route::post('resource/search', 'ResourceController');
    Route::resource('resource', 'ResourceController');


    Route::post('subject/search', 'SubjectController');
    Route::resource('subject', 'SubjectController');

    Route::resource('user', 'UserController');

    Route::controller('/session', 'SessionController');
    Route::post('/login', array('as' => 'session', 'uses' => 'SessionController@Store'));
});
Run Code Online (Sandbox Code Playgroud)

我的控制器大多是空的

class SubjectController extends \BaseController 
{
    public function search()
    {
        $subjects = [];
        if((int)Input::get('grade_id') < 13 && (int)Input::get('grade_id') > 8)
            $subjects = Subject::where('name', 'like', '%HS%')->get();
        else
            $subjects = Subject::where('name', 'not like', '%HS%')->get();

        return Response::json([
            'success' => true,
            'subjects' => $subjects->toArray()
        ]);
    }
    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
            //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
            //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store()
    {
            //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function show($id)
    {
            //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function edit($id)
    {
            //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function update($id)
    {
            //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function destroy($id)
    {
            //
    }

}
Run Code Online (Sandbox Code Playgroud)

cs4*_*977 8

您需要指定方法.

尝试

Route::post('subject/search', 'SubjectController@search');
Run Code Online (Sandbox Code Playgroud)

请参阅命名路由示例: Laravel Docs

  • 因此,Laravel爆炸了''SubjectController @ search',并尝试使用类似`$ arr [1]`的`搜索`,因此未定义的偏移量为`1`?你应该更彻底地解释你的答案; 如果不知道它解决问题的原因,解决方案就没有用. (4认同)