我正在创建一个项目,我在Controller中使用数据库查询。参见示例。
public function actionView($id)
{
$imodel = $this->findModel($id);
return $this->render('view', [
'model' => $this->findModel($id),
'UserInfo' => $this->UserNameById($imodel->Uid),
]);
}
public function UserNameById($id) {
$query = (new \yii\db\Query())->select(['UserName'])->from('user')->where(['Id' => [$id]]);
$command = $query->createCommand();
$data = $command->queryAll();
return $data;
}
我想知道它是好的还是在模型文件中编写查询会更好。
像
public function actionView($id)
{
$imodel = $this->findModel($id);
$model = new User()
return $this->render('view', [
'model' => $this->findModel($id),
'UserInfo' => $model >UserNameById($imodel->Uid),
]);
}
..现在我们可以在用户模型中编写该功能。 所以我想知道哪一个更好? 在模型或控制器中编写数据库查询。
答案 0 :(得分:1)
因为MVC代表模型,视图控制器。
一般来说,模型中的大部分都会像查询一样编写DB操作。
要了解有关YII mvc的更多信息,请参阅此处。
http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc
我认为如果你在Model中编写数据库查询会更好。