2017-12-27 172 views
1

任何人都可以帮我要改变从ZEND格式Yii2格式下面的查询,MySQL查询格式更改得到Zend TO Yii2

$select = $db->select(); 
$select->from(array('u' => 'user'), array('user_id', 'name', 'dob')) 
     ->join(array('ua' => 'User_Address'), 'ua.user_id = u.user_id', array()) 
     ->join(array('a' => 'Address'), 'a.address_id = ua.address_id', array('address_id', 'street', 'city', 'state', 'country')); 

由于提前,

回答

1

你可以使用如:

$rows = (new \yii\db\Query()) 
    -select(['u.user_id', 'u.name', 'u.dob', Address.street, Address.city , Address.state, Address.country ]) 
    ->from('user u') 
    ->join('INNER JOIN', 'User_Address', 'User_Address.user_id = u.id') 
    ->join('INNER JOIN', 'Address', 'Address.user_id = User_Address.address_id AND ')  
    ->all(); 

多见于http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html

+0

谢谢@scaisEdge,但我需要的是,我具备的条件,当其夫lfilled将决定选择语句的参数(基本上,从db中获取的列需要在满足某些条件时动态添加),这就是为什么我在Zend中为每个表提供不同列的原因是否存在点到点转换? – GThamizh

+1

@GThamizh你原来的问题在哪里? scaisEdge当前的答案正确地将Zend查询生成器转换为Yii2的查询生成器。 – lubosdz