Joe*_*dez 22 php laravel eloquent
这个想法非常简单,但我还没有实现它.
这是代码
(我已经更改了变量的名称来描述它们的用法)
$games = Game::all();
$games_already_added = $member->games()->lists('id');
$games = $games->filter(function($game){
global $games_already_added;
if(!in_array($game->id,$games_already_added)){
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
执行代码时,我收到错误
in_array() expects parameter 2 to be array, null given
我已经验证变量$games_already_added是在外部作用域上定义的并且包含项目.
有没有什么办法可以将$games_already_added变量作为参数传递给集合的过滤函数?
任何建议或指导都非常感谢!
谢谢!
Jar*_*zyk 69
它不是全局的,但use它适用于Closure:
$games = $games->filter(function($game) use ($games_already_added) {
if(!in_array($game->id,$games_already_added)){
return true;
}
});
Run Code Online (Sandbox Code Playgroud)