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

wal*_*zaq 5 mysql pdo laravel eloquent eloquent-relationship

在 Laravel 中遇到一个奇怪的问题。一切正常,数据库正常工作正常读/写操作和常规雄辩查询。但是当我使用

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

})
Run Code Online (Sandbox Code Playgroud)

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

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

Tho*_*ers 0

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