Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在symfony中,使用在两个表中具有不同字段的非相关表进行分页_Php_Mysql_Symfony 1.4 - Fatal编程技术网

Php 在symfony中,使用在两个表中具有不同字段的非相关表进行分页

Php 在symfony中,使用在两个表中具有不同字段的非相关表进行分页,php,mysql,symfony-1.4,Php,Mysql,Symfony 1.4,我想对两个DB表(Table1和Table2)的记录进行分页,这两个DB表彼此不相关,并且两个DB表都有不同的字段数。每个查询都应该有一些条件,并与其他一些表连接 我想同时对这两个表的记录进行分页,以便按如下方式显示数据- Row1 = Table1's - name, address,... Row2 = Table2's - tool_name, quantity,... Row3 = Table1's - name, address,... Row4 = Table2's - tool_n

我想对两个DB表(Table1和Table2)的记录进行分页,这两个DB表彼此不相关,并且两个DB表都有不同的字段数。每个查询都应该有一些条件,并与其他一些表连接

我想同时对这两个表的记录进行分页,以便按如下方式显示数据-

Row1 = Table1's - name, address,...
Row2 = Table2's - tool_name, quantity,...
Row3 = Table1's - name, address,...
Row4 = Table2's - tool_name, quantity,...
.
.
.
如果没有表1的记录,则将对表2进行分页,反之亦然。
我想在symfony PHP框架上完成这项工作。有人能帮我形成这种分页类型的查询吗。

我最终得到了类似的结果

获取不同查询的所有数据并存储到数组中,然后缓存它

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数组_chunk()获取有限的记录

$chunkedData  = array_chunk($data, $limit);
$finalData = $chunkedData[$page - 1];

是的,它打破了分页规则,但当时我没有找到比这更好的解决方案。

Hi@Sitansu,你是如何结束它的?谢谢抱歉耽搁了。由于答案有点长,我把答案放在答案部分。