Php Laravel:在集合筛选上传递额外参数
这个想法很简单,但是我还没有实现它 这是密码 (我更改了变量的名称以描述其用途) 当代码被执行时,我收到错误 _array()中的Php Laravel:在集合筛选上传递额外参数,php,laravel,eloquent,Php,Laravel,Eloquent,这个想法很简单,但是我还没有实现它 这是密码 (我更改了变量的名称以描述其用途) 当代码被执行时,我收到错误 _array()中的要求参数2为数组,如果给定空值 我已验证已添加的变量$games\u是否在外部范围中定义并包含项目 是否有任何方法可以将已添加的$games\u变量作为集合过滤函数的参数传递给我? 非常感谢您的任何建议或指导 谢谢大家! 它不是全局的,但是使用与闭包一起工作的: $games = $games->filter(function($game) use ($game
要求参数2为数组,如果给定空值
我已验证已添加的变量$games\u
是否在外部范围中定义并包含项目
是否有任何方法可以将已添加的$games\u
变量作为集合过滤函数的参数传递给我?
非常感谢您的任何建议或指导
谢谢大家! 它不是全局的,但是
使用与闭包一起工作的:
$games = $games->filter(function($game) use ($games_already_added) {
if(!in_array($game->id,$games_already_added)){
return true;
}
});
严格来说,这并不是你想要做的,但看起来这是你想要实现的
$games_already_added = $member->games()->lists('id');
$games = Game::whereNotIn('id', $games_already_added)->get();
但是如果你真的想做过滤,@deczo的答案就是最好的选择。或者你可以做返回!在数组中($game->id,$games\u已经添加)
@djay确实是djay,但是我这里的问题是无法访问已经添加的数组,但是,感谢您缩短了行!再次感谢您@deczo!这一定会派上用场的!Grrr我知道我需要use
,但忘了把参数括在括号里
$games_already_added = $member->games()->lists('id');
$games = Game::whereNotIn('id', $games_already_added)->get();