2 つのデータ ソースがあります
1) Database
2) Memcached or Totally different database
最初のデータベースからグループ メンバーのリスト ID (1 万行以上) を取得し、リストを取得した後、2 番目のデータベースにクエリを実行するか、Memcached にアクセスして実際の詳細を取得します。
$connection = Yii::app()->db;
$sql = 'select user_id,joined_date from group_data where group_id=:group_id ';
$dataProvider = new CSqlDataProvider($sql, array(
'keyField' => 'user_id',
'sort' => array(
'attributes' => array(
'user_id',
'joined_date'
),
'defaultOrder'=>array(
'user_id ASC',
)
),
'pagination' => array(
'pageSize' => 30,
),
'totalItemCount' => $count,
));
$connection_master = Yii::app()->masterdb;
上記のデータ プロバイダーでは、2 番目のデータベースを含めて実際のユーザー名を取得する方法がわかりません。これは、別のデータベースにあるためです。あるデータベースから別のデータベースへの直接接続はありません。
ここでの問題は、ページネーションが最初のデータベース テーブル (ページあたり 30 レコード) に基づいており、実際のデータが 2 番目のテーブルからのものであることです。
これを実装する方法について何か考えはありますか?
ありがとうございました