【问题标题】:Controller method not found laravel找不到控制器方法 laravel
【发布时间】:2016-05-06 18:59:41
【问题描述】:

您好,我现在一直在使用隐式控制器,但今天我遇到了一个我无法理解的问题,我的 Route.php 中有以下内容:

 /**
     * Purchase
     */
    Route::controllers([
        'purchase' => 'PurchaseController'
    ]);

在我的控制器中我创建了这个方法:

public function postNsano(NsanoRequest $request)
    {

        $data = [
            'code' => $request->code,
            'msg' => $request->msg,
            'reference' => $request->referencecode
        ];

        if ($request->code == "00")
        {
            Session::put('nsano_callback_post_data', $data);

            return [
                'code' => '00',
                'msg' => 'success'
            ];
        }
        else
        {
            return [
                'code' => '01',
                'msg' => 'rollback'
            ];
        }

    }

现在由于某种原因,当我尝试发布到此 URL 时: sample.com/purchase/nsano

我收到此错误:“找不到控制器方法” 这对我来说很奇怪,因为我可以在那里看到方法。

我取出 $request 并使用 Input::get() 代替,现在它可以工作了,有人可以向我解释一下吗?

这是我的要求:

class NsanoRequest extends Request {

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'code' => 'required',
            'msg' => 'required',
            'reference' => 'required'
        ];
    }

}

【问题讨论】:

    标签: laravel laravel-5


    【解决方案1】:

    隐式控制器路由需要方法名中的 HTTP 动词:

    public function postNsano(NsanoRequest $request)
    {
        //
    }
    

    【讨论】:

    • 对不起,我这样做了,我后来改了,我编辑了我的帖子,我的意思是“postNsano()”即使我已经定义了也找不到
    • 就像我说的那样,这不是答案,我的代码中已经有了,当我取出 $request 并改用 Input::get() 时,问题得到了解决。
    【解决方案2】:

    您的请求验证不正确,因此它跳转到一个 url 以提示错误但未找到。 如果你添加一些这样的参数,就OK了。

    【讨论】:

      猜你喜欢
      • 2023-01-27
      • 2016-04-04
      • 2014-03-09
      • 2014-05-12
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多