"Cannot declare class AppHttpControllerscategory because the name is already in use"



"无法声明类应用程序 http controllers 类别,因为名称已经在使用中"。如何修复它,请有人解释我

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use Appcategory;
class category extends Controller
{
    public function index(){
        return view('admin.category.category_entry');
    }
    public function save(Request $request){
        $categoryentry=new category();
        $categoryentry->name=$request->name;
        $categoryentry->description=$request-> description;
        $categoryentry->publication_status=$request->publication_status;
        $categoryentry->save();
        return redirect('/category/save')->with('msg','Data inserted');
    }
}

您的控制器类category与您的模型类category相冲突。将您的控制器更改为 categoryController ,它应该解决问题,也应始终从大写开始。

您可以在不同的名称空间中声明具有相同名称的类,但是您不能将同类的类称为同名的类,这会导致名称冲突。因此,由于以下内容,您的错误正在弹出: -

use Appcategory; 
class category extends Controller

您需要更改其中任何一个的名称。

问题是您在此文件中使用了2个名为category的类。AppcategoryAppHttpControllerscategory

您有2个解决此问题的选项:

  1. 通过更改类名来解决名称冲突。例如将AppHttpControllerscategory更改为 AppHttpControllerscategoryController
  2. 将导入的 Appcategory重命名为此文件中未退出的其他内容:
use Appcategory as categoryModel;
// ...

public function save(Request $request){
    $categoryentry=new categoryModel();
    // ...
}

我希望这对您有帮助。

我认为您应该使用此代码。

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use Appcategory AS category_model;
class category extends Controller
{
    public function index(){
        return view('admin.category.category_entry');
    }
    public function save(Request $request){
        $categoryentry= new category_model;
        $categoryentry->name=$request->name;
        $categoryentry->description=$request->description;
        $categoryentry->publication_status=$request->publication_status;
        $categoryentry->save();
        return redirect('/category/save')->with('msg','Data inserted');
    }
}

希望这对您有帮助。

相关内容

最新更新