在控制器yii2中使用数据库查询是好还是坏?

时间:2015-01-30 12:33:54

标签: yii2

我正在创建一个项目,我在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),

        ]);
  }

..现在我们可以在用户模型中编写该功能。 所以我想知道哪一个更好? 在模型控制器中编写数据库查询。

1 个答案:

答案 0 :(得分:1)

因为MVC代表模型,视图控制器。

一般来说,模型中的大部分都会像查询一样编写DB操作。

要了解有关YII mvc的更多信息,请参阅此处。

http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc

我认为如果你在Model中编写数据库查询会更好。