我的控制器调用一个从模型中获取数据的存储库,然后将其返回到控制器,控制器在视图中输出数据。
我应该在哪里操作这些数据?例如,也许我希望在数据中添加一个随机对象:
$data->splice(0, 5, [$myNewObject]);
这应该去哪儿?在控制器?在雄辩的存储库中?
{{1}}
答案 0 :(得分:1)
取决于你正在做什么。如果它与数据直接相关,您可以将其放在模型中,或者直接与逻辑相关,将其保存在控制器上。 如果您需要,可以将它保留在模型上:
//on model
function getRecentRows()
{
$data = .....
return $data->splice(0, 5, [$myNewObject]);
}
如果
,您将把它保留在控制器上//on controller
$data = $this->repository->getAllRows();
$data->splice(0, 5, [$myNewObject]);
$datas->each(function($item){
$item->is_featured = true;
});
//return view with data
这可能不是确切的答案。你必须在这里提供确切的案例。
答案 1 :(得分:1)
这取决于,但一般来说,我喜欢保持我的模型干净,没有任何逻辑。
现在,如果这是一个动作,只需在控制器中执行。
如果这是一项常见任务,并且您希望与其他控制器共享它,则有两种选择:
我通常采用最后一个,特别是在创建API时,我想创建过滤器来隐藏一些数据。
这是一个截面,其结构用于我上一个名为Paka的项目: