Php Laravel |无法获取映射到返回组合结果的多个关键字| Class';App\Http\Controllers\API\Post';找不到

Php Laravel |无法获取映射到返回组合结果的多个关键字| Class';App\Http\Controllers\API\Post';找不到,php,sql,laravel,laravel-5,Php,Sql,Laravel,Laravel 5,问题: namespace App\Http\Controllers; use App\Post; namespace App; 我试图在一个查询中搜索多个关键字,但由于某些原因,我总是遇到以下错误: [2020-08-29 03:50:02] development.ERROR: Class 'App\Http\Controllers\API\Post' not found {"exception":"[object] (Symfony\\Component

问题:

namespace App\Http\Controllers;

use App\Post;
namespace App;
我试图在一个查询中搜索多个关键字,但由于某些原因,我总是遇到以下错误:

[2020-08-29 03:50:02] development.ERROR: Class 'App\Http\Controllers\API\Post' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Http\\Controllers\\API\\Post' not found at /home2/examplehat/public_html/shopper/app/Http/Controllers/API/ClassifiedSearchAPIController.php:78)
[stacktrace]
这是我的控制器的索引函数:

    public function index(Request $request)
    { 
      
     
        try{
            $this->productRepository->pushCriteria(new RequestCriteria($request));
            $this->productRepository->pushCriteria(new LimitOffsetCriteria($request));
            $this->productRepository->pushCriteria(new ProductsOfFieldsCriteria($request));
            if($request->get('trending',null) == 'week'){
                $this->productRepository->pushCriteria(new TrendingWeekCriteria($request));
            }
            else{
                $this->productRepository->pushCriteria(new NearCriteria($request));
            }

          $queryString = $request->query;
  
        if ($queryString = $request->query('search')) {
       //     [$column, $term] = explode(':', $queryString);

       $terms = explode(" ", request('q'));

$products = Product::query()
    ->whereHas('store', function ($query) use ($terms) {
        foreach ($terms as $term) {
            // Loop over the terms and do a search for each.
            $query->where('name', 'like', '%' . $term . '%');
        }
    })
  
    ->get();
  

else
        
           $products = $this->productRepository->all(); 
    
       
        } catch (RepositoryException $e) {
            return $this->sendError($e->getMessage());
        }

        return $this->sendResponse($products->toArray(), 'Products retrieved successfully');
    }

有人能帮我理解需要做什么来修复所述错误吗?我尝试了
使用App\Post但没有帮助。

您需要在控制器和模型中使用名称空间

控制器:

namespace App\Http\Controllers;

use App\Post;
namespace App;
型号:

namespace App\Http\Controllers;

use App\Post;
namespace App;
名称空间允许您按以下方式将代码划分为逻辑组: 将它们定义为自己的“名称空间”。后面的文本字符串 “namespace”关键字标识名称空间及其下的所有代码 然后生活在这个名字空间里。名称空间还提供了一种 组接口函数和常量

你可以阅读更多关于


希望这在你的情况下有效

使用完整名称空间
$products=\App\Post::query()…
尝试此操作。日志中仍然存在相同的错误..日志显示:[2020-08-29 04:11:01]development.error:未找到类'App\Post'{“异常”:“[object](Symfony\\Component\\Debug\\exception\\FatalThrowableError(代码:那么你是在哪里创建这个
Post
模型的?你是在什么名称空间中定义的?@lagbox:我在文件夹中的任何地方都看不到Post模型。我不是很熟悉。我可以创建一个类似于中指定的模型吗?请原谅我的无知,我只是一个新手。你怎么知道如何使用这个
Post模型?它应该是什么,它从哪里来?你必须有一些理由引用它…这是一个打字错误,你实际上是指你注释掉的
产品
模型吗?:)我仍然得到[2020-08-29 04:07:14]开发。错误:类应用程序\模型\产品不存在{“例外”:[object](ReflectionException(代码:-1):类App\\Models\\Product不在日志中。您认为有什么不对?对名称空间的快速解释有助于改进此答案