「ストリーム」と「パンチ」の 2 つのテーブルがあります。1 つのストリームには多くのパンチがあります。
私の見解では、「CListView」を使用して、ストリームのすべてのパンチの画像を表示します。
しかし、ストリームの画像を最初のページに表示したいのですが、すべてのパンチの画像は次のページに表示されます。
どうやってやるの?ありがとう...
「ストリーム」と「パンチ」の 2 つのテーブルがあります。1 つのストリームには多くのパンチがあります。
私の見解では、「CListView」を使用して、ストリームのすべてのパンチの画像を表示します。
しかし、ストリームの画像を最初のページに表示したいのですが、すべてのパンチの画像は次のページに表示されます。
どうやってやるの?ありがとう...
ああ、私はこの問題を解決しました... CActiveDataProvider を使用する代わりに、CSqlDataProvider を使用して 2 つのテーブルを「結合」します。
$count=Yii::app()->db->createCommand('SELECT COUNT(*) FROM tbl_user')->queryScalar();
$sql='SELECT * FROM streams union SELECT * FROM punches';
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$count,
'sort'=>array(
'attributes'=>array(
'id', 'username', 'email',
),
),
'pagination'=>array(
'pageSize'=>10,
),
));
// $dataProvider->getData() will return a list of arrays.