如何在Laravel中重写循环到集合函数?

时间:2017-02-17 20:26:54

标签: laravel laravel-5.4

我有循环,在删除之后迭代集合并查找状态= 1的对象。

如何在Laravel中的集合函数上重写此代码?

$announcements->every(function ($value) use ($announcements) {
            foreach($value->offers as $k => $v) {
                if ($v->status == 1) {
                    unset($value->offers[$k]->publisher);
                }
            }
        });

1 个答案:

答案 0 :(得分:1)

实际上every() method检查集合中的所有项是否都返回true。您应该使用each() method来循环浏览所有项目并单独检查它们。

此外,如果您想从集合中删除某些项目,可以使用filter() method

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(customUserDetailsService).passwordEncoder(getPasswordEncoder());
}

@Bean(name="encoder")
private BCryptPasswordEncoder getPasswordEncoder(){
    return new BCryptPasswordEncoder();
}