首页 > 解决方案 > 在 laravel 5.6 中找不到方法

问题描述

我面临一个神秘的问题。当我按下提交时,它显示

方法 App\Http\Controllers\RentController::store_data 不存在。

我试图找出但不能。提前致谢。

在我的路线

Route::post('/save_rent', 'RentController@store_data');

在我的控制器中

<?php

namespace App\Http\Controllers;
use Session;
use App\rent;
use Illuminate\Http\Request;

class RentController extends Controller
{
    public function store_data(Request $request)
    {
        dd('12');
    }
}

在我看来

<form 
    class="form form-horizontal"
    action="{{ url('save_rent') }}"
    method="POST"
    enctype="multipart/form-data"
>
    {{ csrf_field() }}
</form>

标签: laravellaravel-5

解决方案


尝试为该路线定义一个名称。像下面

Route::post('/save_rent', 'RentController@store_data')->name('rent.store.data');

然后调用带有路由名称的表单动作

action="{{ route('rent.store.data') }}

更新:

注意到的另一个主要问题是您的扩展Controller未定义。

您应该将其添加到您的控制器文件中

use App\Http\Controllers\Controller;

它看起来像下面

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Session;
use App\rent;
use Illuminate\Http\Request;

class RentController extends Controller
{
    public function store_data(Request $request)
    {
        dd('12');
    }
}

推荐阅读