我想分页两个DB表的记录,Table1和Table2,它们彼此无关,并且两个DB表都有不同的字段数。每个查询都应该有一些条件,并且还与其他一些表连接
我想同时对两个表的记录进行分页,以便我可以按如下方式显示数据 -
Row1 = Table1's - name, address,...
Row2 = Table2's - tool_name, quantity,...
Row3 = Table1's - name, address,...
Row4 = Table2's - tool_name, quantity,...
.
.
.
如果table1没有记录,那么它将对table2进行分页,反之亦然。 我希望这可以在symfony PHP框架上完成。有人可以帮助形成这种分页的查询。
答案 0 :(得分:0)
我最终会这样。
获取不同查询的所有数据并存储到数组中,然后缓存它。
foreach($queries as $key => $query) {
foreach ($query->fetchArray() as $result) {
$data[] = $result;
}
}
$c = new sfFileCache(
array(
'cache_dir' => sfConfig::get('sf_cache_dir').'/function',
'lifetime' => 3600,
)
);
$c->set('myarray',serialize($data));
我扩展了sfDoctrinePager,以便它可以找到所有这些查询的总页数等。
我使用PHP usort()根据特定的顺序对数据进行排序。
usort($data, array($this,'activity_sort'));
然后我用PHP array_chunk()来获取有限的记录。
$chunkedData = array_chunk($data, $limit);
$finalData = $chunkedData[$page - 1];
是的,它打破了分页规则,但当时我没有更好的解决方案。