我的PhotoalbumsModel中有这个方法
public function index_list()
{
$data = $this->find()
->contain(['Images' => function($q) {
$q->select([
'total' => $q->func()->count('image_id')
])
->group(['photoalbum_id']);
return $q;
}
]);
foreach ($data as $row)
{
$row->image_count = 0;
if (isset($row->images{0}->total))
{
$row->image_count = $row->images{0}->total;
}
unset($row->images);
}
return $data;
}它基本上将image_count添加到行中。
在我的控制器中,我使用:
<?php
class PhotoalbumsController extends AppController
{
public $paginate = [
'limit' => 2,
'order' => ['id' => 'desc']
];
public function index()
{
$photoalbums = $this->paginate($this->Photoalbums->index_list());
$this->set(compact('photoalbums'));
}然而,在我看来,image_count并没有被传递。在不使用分页器的情况下,它被传递。
我该如何解决这个问题呢?
https://stackoverflow.com/questions/50620244
复制相似问题