Yii2-多表关联-分页问题:第1页总显示1条记录,正确应是4条
1. 在模型中写如下代码 /models/ProContent.php
2.在控制器中调用代码如下(/controllers/IndexController.php)
调试:proContent符合条件的记录有7条,但查询结果总返回一条记录
正确结果 第1页应显示4条记录,
如果去掉关联:>joinWith('proAttachmentOne'),则结果正确,
请问这是什么情况?
public function proContentPagination($pageSize=null)
{
$query = ProContent::find();
$pagination = new Pagination([
'defaultPageSize' => $pageSize,
'totalCount' => $query->count(),
]);
$proSets = $query->joinWith('proAttachmentOne')
->offset($pagination->offset)
->limit($pagination->limit)->all();
return $proSets;
}
public function getProAttachmentOne()
{
return $this->hasOne(ProAttachment::className(), ['ProID' => 'id']);
}
2.在控制器中调用代码如下(/controllers/IndexController.php)
public function actionIndex()
{
$pro = new \app\models\ProContent();
$proSets = $pro->proContentPagination(4);
var_dump($proSets); exit();
}
调试:proContent符合条件的记录有7条,但查询结果总返回一条记录
正确结果 第1页应显示4条记录,
如果去掉关联:>joinWith('proAttachmentOne'),则结果正确,
请问这是什么情况?
...全文
相关推荐
Yii2.0框架模型多表关联查询示例
主要介绍了Yii2.0框架模型多表关联查询,结合实例形式总结分析了Yii2.0框架多表关联查询相关操作技巧,需要的朋友可以参考下
Yii2中使用join、joinwith多表关联查询
主要介绍了Yii2中多表关联查询(join、joinwith)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Yii的ActiveRecord是与数据库打交道的类,也即MVC中的M(模型层),也是ORM的O(Object)。 一个老生常谈的问题。最近通过群里的反馈,觉得很多人还是没有去理解这个问题。今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联。 场景需求: 假设我们有一张用户表user和一张用户渠道表auth,两张数据表通过user.id和auth.uid进行一对一关联。现需要在user列表展示auth表的来源渠道source,且该渠道可搜索。 首先我们先通过gii生成user和auth系列相关的model和操作。此处不做详细说明,有关gii的操
yii2中LinkPager增加总页数和总记录数的实例
本篇文章主要介绍了php中LinkPager增加总页数和总记录数的实例,具有一定的参考价值,有兴趣的可以了解一下
Yii2中多表关联查询hasOne hasMany的方法
主要介绍了Yii2中多表关联查询hasOne hasMany的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下


Framework
