如何在`Laravel`中的QueryBuilder中访问变量

问题描述 投票:1回答:2

如何在$data中访问QueryBuilder中的Laravel

public function store(Request $request)
{
    $data = [1,2,3,4];
    echo User::whereHas('books', function($query){
            $query->whereIn('id', $data);
         })->get();
}

上面的代码显示错误

ErrorException thrown with message "Undefined variable: data"
laravel
2个回答
1
投票

你需要add use($data) to the closure

User::whereHas('books', function($query) use($data) {
        $query->whereIn('id', $data);
    })->get();

1
投票

你可以使用use

public function store(Request $request)
{
$data = [1,2,3,4];
echo User::whereHas('books', function($query) use ($data){
        $query->whereIn('id', $data);
     })->get();
}

希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.