2017-08-18 5 views
0

複数のテーブルからyii2.butで結果をページ番号に変更したいとします。ここ は、サイトコントローラの私の行動のコードです:複数のクエリからページングする方法yii2?

<? 
 
public function actionPagination_product(){ 
 
$query=Product::find(); 
 

 
$count=$query->count(); 
 

 
$pagination=new Pagination(['totalCount' => $count, 'defaultPageSize' => 1]); 
 

 
$models = $query->offset($pagination->offset) 
 
     ->limit($pagination->limit) 
 
     ->all(); 
 
\t 
 
\t  return $this->render('pagination_pro', [ 
 
     'models' => $models, 
 
     'pagination' => $pagination, 
 
    ]); 
 

 
} 
 

 

 
?>

、ここでは、私の見解である:

<?php 
 
    use yii\widgets\LinkPager; 
 
?> 
 
<?php foreach ($models as $model): ?> 
 

 
<div class="list-group"> 
 
    <a href="#" class="list-group-item active"> 
 
    <h4 class="list-group-item-heading"><?= $model->title; ?></h4> 
 
    <p class="list-group-item-text"><?= $model->id; ?></p> 
 
\t <p class="list-group-item-text"><?= $model->body; ?></p> 
 
    </a> 
 
</div> 
 

 
    
 
    <br/> 
 
<?php endforeach; ?> 
 
<?php 
 
    // display pagination 
 
    echo LinkPager::widget([ 
 
     'pagination' => $pagination, 
 
    ]); 
 
?>

これは、複数のテーブルで検索するためのもので、私は彼らに参加することはできません。それを行うにはどのようにこのページネーションで例えば

私はレポートを読みたい::見つける()

+0

'Product :: find();'メソッドも表示する必要があります –

+0

他のテーブルから読み込みたいという意味です。どのように他のテーブルのためにそれを行うには? – areff

答えて

0

質問が正しく理解されているかどうかわかりません。しかし、あなたの問題が "私は彼らに参加できません"。あなたは、あなたのコントローラにそのような何かを使用して表示したいテーブルを結合することができます

$model = Report::find() 
->join('INNER JOIN', 'otherModel', 'otherModel.report_id = report.id'); 
->all(); 

この方法では、変数$モデルに必要なすべてのデータを持つことになり、その後、あなたがそれで欲しいものを行うことができます。

関連する問題