显示重复查询的Laravel调试器
有人对此有想法吗。我不知道为什么它会显示重复的查询。我搜索了很多,在stackoverflow上找到了一个答案,但没有得到正确的答案。如果有人遇到同样的错误,请告诉我。多谢各位显示重复查询的Laravel调试器,laravel,laravel-eloquent,phpdebugbar,Laravel,Laravel Eloquent,Phpdebugbar,有人对此有想法吗。我不知道为什么它会显示重复的查询。我搜索了很多,在stackoverflow上找到了一个答案,但没有得到正确的答案。如果有人遇到同样的错误,请告诉我。多谢各位 protected $_param; public function __construct(Utility $utility) { $league = $utility->checkDomainController(); view()->share('league', $league);
protected $_param;
public function __construct(Utility $utility)
{
$league = $utility->checkDomainController();
view()->share('league', $league);
$this->league = $league;
}
这是控制器中的代码。与所有观点一致。但是,$league=$utility->checkDomainController()中只有一个查询强>
这是checkDomainController
无论何时调用依赖于blade中相关模型的属性,Laravel都会执行新的查询,除非您急于加载并将预加载的数据从控制器传递给视图
在我看来,您发布的这个示例似乎是刀片代码中的一个循环。如果您可以分享更多与前端相关的代码,我可以帮助您解决问题。显示相关代码请打开mysql常规日志并观察查询的运行情况,您可能正在运行重复的查询。@AlexeyMezenin更新。请检查它的N+1问题,我认为,您必须使用所选元素加载语言。您可以向我们展示
checkDomainController
的内容吗?要帮助我们检测问题:)
if(\Request::server('HTTP_HOST') == env('MAIN_DOMAIN'))
{
$leagueSlug = Route::current()->getParameter('league');
$league = League::where('url', $leagueSlug)->first();
}
else
{
$league = League::where('custom_domain', \Request::server('HTTP_HOST'))->first();
}
if(!$league)
{
//error page
}
return $league;