Zend Framework:从不同的表中选择数据

时间:2012-08-23 22:06:07

标签: zend-framework zend-db-select

我想在我的网站中创建一个搜索引擎,但有一个问题是我可以用一个查询从两个或多个不同的表中选择所有值,因为有一个类别exp。新闻和此类别中有子类别,每个子类别都有其他表格,如果我选择新闻,我需要从子类别表中获取所有值。

浓淡表:第一个表名是test1,第二个表名是test2:

  

id | title | content |
1 | dog | dog is big |
2 | cat | cat is small |

     

id | title | content |
1 | plant | plant1 |
2 | stone | stone1 |

我需要从这些表中获取所有值。

1 个答案:

答案 0 :(得分:2)

好吧,看起来你需要在这里建立一个union

$db = Zend_Db::factory( ...options... );
$select = $db->select()
    ->union(array(
        $db->select()
            ->from(array('t1' => 'test1'))
            ->where(/* search criteria goes here */),
        $db->select()
            ->from(array('t2' => 'test2'))
            ->where(/* search criteria goes here as well */)
        ));

或者,您可能需要查看Sphinx