我想在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();
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>
<p class="list-group-item-text"><?= $model->body; ?></p>
</a>
</div>
<br/>
<?php endforeach; ?>
<?php
// display pagination
echo LinkPager::widget([
'pagination' => $pagination,
]);
?>
这是用于在多个表中搜索而我无法加入它们。
例如,我想在此分页中读取Report :: find()
怎么做?
答案 0 :(得分:0)
我不确定我是否正确理解你的问题。但如果你的问题是“我无法加入他们”。您可以使用控制器中的类似的东西加入要显示的表:
$model = Report::find()
->join('INNER JOIN', 'otherModel', 'otherModel.report_id = report.id');
->all();
这样您就可以在变量$ model中获得所需的所有数据,然后就可以随意执行任何操作。