如何在Zend_Paginator_Adapter_DbSelect()中使用连接

时间:2012-02-03 11:51:39

标签: zend-framework zend-db-select

如何将以下mysql查询替换为ZF Zend_Paginator_Adapter_DbSelect()  查询

$sql = "SELECT ps.phone_service_id,ps.phone_service_name,ps.phone_service_Duration,ps.phone_service_type,us.user_preferences_value,ps.user_id FROM phone_service ps,user_preferences us
    WHERE us.phone_service_id = ps.phone_service_id
    AND us.user_preferences_name = 'is_user_package_active'
   AND ps.user_id =".$user_id;

我写了这个,但是发生了错误,请将我的查询替换为equailent Zend_Paginator_Adapter_DbSelect()

$select = $DB->select()
              ->from(array('ps' => 'phone_service'
                           'us' => 'user_preferences'),
                array('ps.phone_service_id', 'ps.phone_service_name','ps.phone_service_Duration','ps.phone_service_type','us.user_preferences_value')),
                ->where('us.phone_service_id = ?', 'ps.phone_service_id')
                ->where( 'us.user_preferences_name = ?', 'is_user_package_active')
                ->where( 'us.user_id = ?', $user_id)
                ;

1 个答案:

答案 0 :(得分:1)

我猜你想要这样的东西:

$sel = $db->select();
$sel->from(array('p' => 'phone_service'))
    ->join(array('u' => 'user_preferences'), 'u.phone_service_id = p.phone_service_id')
    ->where('u.user_preferences_name = ?', 'is_user_package_active')
    ->where('p.user_id = ?', $user_id);