Laravel Eloquent 查询 -> 未定义变量

5

这是我遇到的错误截图。我已经在日志中显示了$team变量的值。我做错了什么吗? 在此输入图片描述


展示你的代码? - Davit Zeynalyan
2
应该是 function($query) use ($team)(字符串:18)来将此变量从父作用域导入到闭包中。 - Alexey Chuhrov
谢谢Dan。你是第一个回答的人,但由于这是一条评论,我不能给你点赞。 - Vishnoo Rath
你可能会发现使用像PhpStorm这样的好的IDE有助于在测试之前进行调试。例如,如果你使用PhpStorm,你会看到这个错误。 - Oluwatobi Samuel Omisakin
2个回答

10

您无法从闭包访问父变量,您需要使用 use 关键字显式地将变量传递给闭包

function($query) use ($team)

4

不要忘记在闭包函数内使用$team变量。格式应为function($query) use ($team)

$data = User::whereHas('roles' => function($query) use ($team) {
    $query->where('role_code', '=', $team)
})->get();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接