SQLSTATE[HY000] [2002] 使用 whereHas 时,laravel 中的连接被拒绝错误

SQLSTATE[HY000] [2002] Connection refused error in laravel when using whereHas

提问人:wali razzaq 提问时间:1/16/2020 最后编辑:wali razzaq 更新时间:5/1/2020 访问量:405

问:

在拉拉维尔面临一个奇怪的问题。一切正常,数据库正常工作,适用于正常的读/写操作和常规的雄辩查询。但是当我使用

$query->whereHas('some_related_model',function($q){
         $q->whereIn('column_on_related_model_table',[array_values]);

})

它给出连接被拒绝错误,如标题所示 我正在使用 ,并且laravel 6.xmySql 8.0php v7.4

我在上面写了一个通用代码。它发生在每个地方具有特殊的反向关系,例如BelongsTo

mysql laravel pdo eloquent-relationship

评论

0赞 Alec Joy 1/16/2020
在封口内侧放一个return$q->
0赞 wali razzaq 1/17/2020
我也试过了。我没有工作。
0赞 mrhn 1/17/2020
查询生成器是一个对象,并且通过引用,因此返回无关紧要。
0赞 wali razzaq 1/17/2020
@mrhn是的,但是在焦虑中,我也给了它一个简短的哈哈。
2赞 wali razzaq 1/17/2020
问题似乎我已经迁移到了,一切正常。我不确定mySql中的哪些配置实际上导致了此错误。一旦我发现实际的配置问题,我会立即发布答案mySql 8.0mariaDB 10.3

答:

0赞 Thomas Roovers 5/1/2020 #1

我最近遇到了同样的问题。事实证明,这是因为全局范围包含在关系模型中。全局范围向关系中添加了子项计数。没有全局范围,它工作正常。我并没有真正关注它,为什么它在全局范围内失败,因为初始查询不需要计数。