我在控制器中有这样的功能
public function actionNext(){
$category = $this->getCategory();
$not_finished = $this->getQuestionFromCategory($category);
if(!empty($not_finished)){
$next_question_id = getNextQuestionId();
$this->updateNextQuestion();
}
else{
addNextCategory();
}
}
我的问题是:所有功能
也应该在模型或控制器中(所有函数都是对db的请求)。
答案 0 :(得分:0)
通常,与db相关的函数在模型中,模型扩展了活动记录,为此还包含相关的sql / schema / model相关函数。在你的情况下,你会想到函数getCategory
,可能还有getQuestionFormCategory
与支持控制器操作的服务相关的功能位于控制器中。在您的情况下genNextQuestionId
,updateNewQuestion
,addNextQuestion
。
主要规则是:关于实体的结构知识在模型中是什么,关于战术行为的是控制器。
显然,与排序和查找相关的部分放在...搜索类中。