简体   繁体   English

Class 'App\Http\Controllers\Products' 在 laravel 中找不到

[英]Class 'App\Http\Controllers\Products' not found in laravel

I am new to Laravel, so I am trying to store some information coming from a form and I am getting this error:我是 Laravel 的新手,所以我试图存储来自表单的一些信息,但我收到了这个错误:

Class 'App\Http\Controllers\Products' not found Class 'App\Http\Controllers\Products' 未找到

I have tried adding use products;我试过添加use products; but it still doesn't work...但它仍然不起作用......

Here is my code:这是我的代码:

Products Controller产品 Controller

namespace App\Http\Controllers;

use App\Http\Controllers\ProductsController;
use Session;
use Illuminate\Http\Request;
    
class ProductsController extends Controller {
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create() {
        return view('products.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request) {
        $user_id = Session::get('user_id');
        //die(var_dump($user_id));

        return Products::create([
            'user_id' => $user_id,
            'id_template' => $data['id_template'],
            'title' => $data['title'],
            'metadescription' => $data['metadescription'],
            'robots' => $data['robots'],
            'canonical' => $data['canonical'],
            'product_name' => $data['product_name'],
            'product_image' => $data['product_image'],
            'product_code' => $data['product_code'],
            'price' => $data['price'],
            'price_discount' => $data['price_discount'],
            'quantity' => $data['quantity'],
            'summary' => $data['summary'],
            'description' => $data['description'],
            'friendly_url' => $data['friendly_url'],
            'contact_form' => $data['contact_form'],
            'rating' => $data['rating'],
            'comments' => $data['comments'],
            'discount' => $data['discount'],
            'show' => $data['show'],
            'active' => $data['active'],
        ]);
    }
}

Products model产品 model

namespace App;

use Illuminate\Database\Eloquent\Model;

class products extends Model
{
    //
}

Any help is greatly appreciated.任何帮助是极大的赞赏。

  1. You will need to write products in upper case -> Products as your Class name and File name.您需要将products写成大写 -> Products作为您的Class名称和文件名。
  2. Import your Product Model: use App\Products;导入您的产品 Model: use App\Products; in your Controller在你的 Controller

In your controller write:在您的 controller 中写入:

use App\products;

In your controller import Products Model like this:在您的 controller 导入 Products Model 像这样:

use App\Products; // Import in controller

return \App\Products::create([]); // not want to import in controller

In Products Model - Model file name and Class name are same.在产品 Model - Model 文件名和 Class 名称相同。

class Products extends Model {}

you need to import Products model into the controller您需要将产品 model 导入 controller

use App\Products;

and change your Products model into并将您的产品 model 更改为

class Products extends Model
{
    //
}

i would recommend installing PHP Intelephense extension so that you can automatically import the Models you are using in your controller我建议安装 PHP Intelephense 扩展,以便您可以自动导入您在 controller 中使用的模型

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM