2017-12-14 2 views
0

내가 데이터베이스 (MySQL의)에서 데이터를 얻을 수에 대한Sql Server를 사용하여 데이터를 제공하는 방법 Yii2에서 index.php를 쿼리 하시겠습니까?

기본 보기로 보낼 컨트롤러에 actionIndex에 쿼리를 사용하여 SQL 서버에서 데이터를 얻을 볼 보낼 필요하면이 같다 :

public function actionIndex() 
{ 
    $searchModel = new StudentsSearch(); 
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams); 

    return $this->render('index', [ 
     'searchModel' => $searchModel, 
     'dataProvider' => $dataProvider, 
    ]); 
} 

그러나 구문 SQL Server를 사용하여 데이터를 가져와야하는 경우 어떻게해야합니까?

이 자신의 데이터베이스 연결 매개 변수를 보낼 수있는 'DB'라는 이름의 선택적 매개 변수를 걸립니까 내 쿼리

$totalCount = Yii::$app->db2->createCommand('SELECT * FROM [dbo].[students]') 
      ->queryAll(); 
+0

당신이 데이터를 사용해야합니까 2 개의 다른 [RDBMS (https://en.wikipedia.org/wiki/Relational_database_management_system)에서 신청서? 그렇다면 응용 프로그램이 여러 데이터베이스에 액세스해야하는 경우 여러 DB 응용 프로그램 구성 요소를 구성해야합니다. – R13e

답변

0

Yii2 ActiveDataProvider입니다. 그래서 당신은 이런 식으로 StudentSearch 모델 검색 기능 데이터 공급자를 수정할 수 있습니다

$dataProvider = new ActiveDataProvider([ 
    'query' => (new Query)->select('*')->from('students'), 
    'key' => 'id', 
    'pagination' => [ 
     'pageSize' => 10 
    ], 
    'db' => \Yii::$app->db2 
]);