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不在日志中。您认为有什么不对?对名称空间的快速解释有助于改进此答案