joinLeft Zend Framework,不同表中的相同字段名称

Ert*_*tai 4 select zend-framework left-join zend-db

我有一个问题。我试图使用$ select对象使用Zend Framework将两个表连接起来。不幸的是,我的表具有公共字段“名称”,当我将一个表与另一个表连接时,我得到的结果是表中的名称字段覆盖了另一个表的名称字段。

我的代码是这样的:

$select->joinLeft ( array ('users' => 'users' ), $this->_name . '.employee_id = users.user_id', array ('*' ) );
Run Code Online (Sandbox Code Playgroud)

如何连接表并避免出现此问题?

mar*_*kus 5

使用表别名,就像在任何普通sql查询中一样!

对于Zend_Db,别名是这样写的:

$select = $db->select()
         ->from(array('p' => 'products'),
                array('product_id', 'product_name'))
         ->join(array('l' => 'line_items'),
                'p.product_id = l.product_id',
                array() ); // empty list of columns
Run Code Online (Sandbox Code Playgroud)

非Zend查询如下所示:

SELECT p.product_id, p.product_name 
FROM products AS p 
JOIN line_items AS l ON p.product_id = l.product_id;
Run Code Online (Sandbox Code Playgroud)