我想在 Laravel 中为相关表播种。我在访问匿名函数内的范围外变量时遇到问题,我为 whereHas
方法定义了将“where”条件放在我的 has 查询上的方法。
$id = $user->id; // out-of-scope variable
$posts = Post::whereHas('comments', function ($query) {
$query->where('user_id', $id);
})->get();
从技术上讲,我无权访问匿名函数内的 $id
。
最佳答案
这不是 Laravel 问题,而是 PHP 问题。只需在参数列表后添加use ($variable)
即可:
$posts = Post::whereHas('comments', function ($query) use ($id) {
$query->where('user_id', $id);
})->get();
关于php - 在 Laravel (PHP) 中访问匿名函数中的范围外变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45574240/