2016-08-13 49 views
0
select users.*, user_address.*, user_kyc_details.* , user_nominee.*, user_bank_details.* 
from users, user_address, user_kyc_details, user_nominee, user_bank_details 
where user_address.user_id=users.id and user_kyc_details.user_id=users.id and user_nominee.user_id=users.id and user_bank_details.user_id=users.id 

如何直接在$ query-> createCommand()中運行此操作。作爲參數我試過但它不工作Yii加入查詢結果不像預期的那樣

上述查詢工作正常,並給出了預期的結果,但當我使用連接使用Yii像下面給出它給了我奇怪的結果(即不加入適當的ID和user_id )

$ query = new Query;

$query->select([ 
    'users.*', 
    'user_address.*' 
    'user_kyc_details.*', 
    'user_nominee.*', 
    'user_bank_details.*' 
    ]) 
    ->from('users') 
    ->join('INNER JOIN', 'user_address','user_address.user_id = users.id') 
    ->join('INNER JOIN', 'user_kyc_details','users.id =user_kyc_details.user_id') 
    ->join('INNER JOIN', 'user_nominee','users.id =user_nominee.user_id') 
    ->join('INNER JOIN', 'user_bank_details','users.id =user_bank_details.user_id'); 

    $command = $query->createCommand(); 
    $data = $command->queryAll(); 

任何幫助,將不勝感激

+0

選擇用戶做查詢。*,user_address。*,user_kyc_details。*,user_nominee。*, user_bank_details。*來自用戶,user_address,user_kyc_details,user_nominee,user_bank_details,其中user_address.user_id = users.id和user_kyc_details.user_id = users.id和user_nominee.user_id = users.id 和user_bank_details.user_id = users.id –

回答

0

如果你有alreade你直接在命令

$sql = "select 
      users.* 
      , user_address.* 
      , user_kyc_details.* 
      , user_nominee.* 
      , user_bank_details.* 
     from users, user_address, user_kyc_details, user_nominee, user_bank_details 
     where user_address.user_id=users.id 
      and user_kyc_details.user_id=users.id 
       and user_nominee.user_id=users.id 
       and user_bank_details.user_id=users.id"; 


$command = Yii::$app->db->createCommand($sql); 
$command->queryAll();