Php laravel控制器内的Foreach回路

Php laravel控制器内的Foreach回路,php,laravel,model-view-controller,Php,Laravel,Model View Controller,我有一个递归函数,它可以从我的类别列表中构建树,我完成了它,它工作得很好,但我有两种方法可以将它放在helper函数中并在blade中调用它,或者创建类并在我的控制器中调用它,然后控制器将它传递到视图中 那么我的问题是,第二种方法(在控制器内部进行foreach)是否错误 来自MVC架构的原则 视图的职责是处理表示逻辑。在里面 视图的目标是生成对用户的响应 因此,所有生成数据的逻辑都应该驻留在控制器内部。然后控制器应将该数据传递到适当的视图。视图应该只负责向用户显示数据 编辑 假设您想从数组中打

我有一个递归函数,它可以从我的类别列表中构建树,我完成了它,它工作得很好,但我有两种方法可以将它放在helper函数中并在blade中调用它,或者创建类并在我的控制器中调用它,然后控制器将它传递到视图中


那么我的问题是,第二种方法(在控制器内部进行foreach)是否错误

来自MVC架构的原则

视图的职责是处理表示逻辑。在里面 视图的目标是生成对用户的响应

因此,所有生成数据的逻辑都应该驻留在控制器内部。然后控制器应将该数据传递到适当的视图。视图应该只负责向用户显示数据

编辑


假设您想从数组中打印菜单项列表,那么您可以从blade中执行此操作。但是,如果您正在调用一个函数来获取数组,并对该数组进行排序/过滤,然后执行一些检查以确保数组是有效的,等等。。。然后,它只是膨胀的看法。所以这些逻辑可以放在控制器中。我希望你明白了这一点

如果我必须完成这项任务,我会将控制器本身的每一个计算都传递给视图


视图必须用于查看数据,而不是执行循环和其他操作。

我建议查看执行时间,总的来说,一切都归结到这一点。因此,请测试它,并告诉我哪一个更好如果是,为什么我们在Laraveli中在刀片内部执行foreach如果是,为什么我们在Laravelth中在刀片内部进行foreach我们所做的是解析数组和对象,而不是为了计算或修改数据,只是为了显示数据。