【问题标题】:How to handle this error : Class App\Http\Controllers\post/ProductController does not exist如何处理此错误:类 App\Http\Controllers\post/ProductController 不存在
【发布时间】:2018-03-31 07:41:48
【问题描述】:

刀片文件中的代码如下:

@extends('clientlayout.layouts.master1')
@section('title')
Register
@endsection
@section('content')
<div class="container" style="background-color: #c1bdba;max-width: 100% 
!important;">
<div class="row">
  <div class="offset-lg-2 col-lg-8 col-sm-8 col-8 border rounded main- 
  section"  style="background-color:rgba(19, 35, 47, 0.9);">
  <img src="client/images/decksys.png" alt="." style="margin: 20px 0px 20px 
350px;"> 
    <hr>
    <form class="container" action="/create" id="needs-validation" 
method="post" novalidate>
    <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); 
 ?>">
      <div class="row">
        <div class="col-lg-6 col-sm-6 col-12">
           <div class="form-group">
            <label class="text-inverse custom" 
 for="validationCustom01">First Name
 <span class="req">*</span>
 </label>
<input type="text" name="firstname" class="form-control" 
id="validationCustom01"  placeholder="First name"
value="" required maxlength="25" onKeyPress="return ValidateAlpha(event);" 
style="background-color: rgba(19, 35, 47, 0.4); color:#fff;">
            <div class="invalid-feedback">
              Enter Your Firstname
            </div>
          </div>
        </div>

      </div> 
 </form>
   </div>
   </div>  
   </div>
   @endsection

控制器代码如下所示:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\ProductController;


use Illuminate\Http\Request;

use DarthSoup\Whmcs\Facades\Whmcs;
use Darthsoup\Whmcs\WhmcsServiceProvider;

class ProductController extends Controller
{
 public function insertform(){
    return view('clientlayout.main.signup');
    } 

  public function insert(Request $request){

    $user = User::create([
        'firstname' => $data['firstname'],
        'lastname' => $data['lastname'],
        'email' => $data['email'],
        'city' => $data['city'],
        'dob' => $data['dob'],
        'password' => bcrypt($data['password']),
    ]);
    Whmcs::create($data->all());
    return redirect($this->create());

    echo "Record inserted successfully.<br/>";
    echo '<a href = "/insert">Click Here</a> to go back.';

    }

    }

路线代码如下所示,如果需要对路线进行任何更改,请建议我。

Route::get('insert', 'ProductController@insertform');
Route::post('create','post/ProductController@insert');

建议我处理此错误的解决方案 - “产品控制器不退出”并获得如下输出:

记录插入成功

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2 laravel-5.1 laravel-5.3


    【解决方案1】:

    问题出在你的路由声明中:

    Route::get('insert', 'ProductController@insertform');
    Route::post('create','post/ProductController@insert');
    

    您不需要第二行中的post/,因为该路由已经通过调用Route::post(...) 创建为POST 路由。所以你应该让它工作:

    Route::get('insert', 'ProductController@insertform');
    Route::post('create','ProductController@insert');
    

    也可能是您在整个应用程序中使用的路径不正确(即/create 作为您的表单操作)。您可以为您的路线分配路线名称并改用它:

    Route::post('create', 'ProductController@insert')->name('product.create');
    
    <form class="container" action="{{ route('product.create') }}"
          id="needs-validation" method="post" novalidate>
    

    【讨论】:

    • 谢谢。它工作正常。你能给我一个想法,将注册期间输入的数据发布到 WHMCS 中。
    • 不确定我是否可以关注你。在您的控制器中,您正在创建一个User 和一个Whmcs。并且在它们被创建之后,你想要展示它们吗?那么您需要类似:$whmcs = Whmcs::create($data-&gt;all()); return redirect()-&gt;route('whmcs.detail', ['id' =&gt; $whmcs-&gt;id]); 或者代替路线,您还可以显示视图:return view('whmcs.detail', ['whmcs' =&gt; $whmcs]);。 -- 顺便说一句,return 之后的两个echo 语句没有用。
    猜你喜欢
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2020-03-31
    • 2017-12-23
    • 2020-05-01
    • 1970-01-01
    • 2018-01-14
    • 2020-11-29
    相关资源
    最近更新 更多