在laravel控制器内的Foreach循环

时间:2018-02-15 08:12:55

标签: php laravel model-view-controller

我有recusrive功能,构建树形式我的类别列表我完成它并且它工作正常,但我有2种方法把它放在帮助函数中并在刀片中调用它,或者创建类并在我的控制器中调用它然后控制器可以查看它。

所以我的问题是,第二种方法是错误的(在控制器中做foreach)?

2 个答案:

答案 0 :(得分:1)

从MVC架构的原理。

  

视图的责任是处理表示逻辑。在   Web的上下文视图的目标是生成对用户的响应(link)

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

修改

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

答案 1 :(得分:1)

如果我必须完成任务,我将在控制器本身中的每一个计算方法中将其传递给视图。

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