在CakePHP中在哪里实现查询函数?

在CakePHP中在哪里实现查询函数?,php,cakephp,structure,layer,Php,Cakephp,Structure,Layer,CakePHP框架是一个分层结构。我的问题是: 在哪里(理论上)是实现数据查询功能的最佳位置?在模型还是控制器中 “数据查询函数”指的是getItemsWithSomeInfo($idItem)等函数,即不是动作的函数 目前,我正在控制器中实现这些功能,但我认为还有其他框架在模型层中实现这些功能(或方法) 我搜索了Stackoverflow,发现了类似的问题(),但(在我看来)并不是很好的答案。最好将这些函数放在模型中,而不是控制器中。模型中应包含所有与数据相关的代码。从长远来看,当涉及到重构或

CakePHP框架是一个分层结构。我的问题是:

在哪里(理论上)是实现数据查询功能的最佳位置?在模型还是控制器中

“数据查询函数”指的是
getItemsWithSomeInfo($idItem)
等函数,即不是动作的函数

目前,我正在控制器中实现这些功能,但我认为还有其他框架在模型层中实现这些功能(或方法)


我搜索了Stackoverflow,发现了类似的问题(),但(在我看来)并不是很好的答案。

最好将这些函数放在模型中,而不是控制器中。模型中应包含所有与数据相关的代码。从长远来看,当涉及到重构或测试时,这总是一个更好的主意。您确切地知道在哪里可以找到代码。它可以在其他操作/控制器中重复使用,而无需复制和粘贴。

最好将此类功能放置在您的模型中,而不是控制器中。模型中应包含所有与数据相关的代码。从长远来看,当涉及到重构或测试时,这总是一个更好的主意。您确切地知道在哪里可以找到代码。无需在其他操作/控制器中复制和粘贴即可重复使用。

将功能放置在相应的模型中,然后在控制器中使用:

例如:

在Model.php中

public function getItemsWithSomeInfo($idItem) {
  // your code
}
$this->Model->getItemsWithSomeInfo($id);
在ModelsController.php中

public function getItemsWithSomeInfo($idItem) {
  // your code
}
$this->Model->getItemsWithSomeInfo($id);

将功能放在相应的模型中,然后在控制器中使用:

例如:

在Model.php中

public function getItemsWithSomeInfo($idItem) {
  // your code
}
$this->Model->getItemsWithSomeInfo($id);
在ModelsController.php中

public function getItemsWithSomeInfo($idItem) {
  // your code
}
$this->Model->getItemsWithSomeInfo($id);

嗨@Sudhir,我喜欢你的回答,这正是我所期待的。不过,我希望得到一些回应以确保。问候语!嗨@Sudhir,我喜欢你的回答,这正是我所期待的。不过,我希望得到一些回应以确保。问候语!