2016-08-13 14 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;あなたは、クエリalreadeている場合

$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_address.user_id = users.idとuser_kyc_details.user_id = users.idとuser_nomine.user_id = users.id とuser_bank_details.user_id = users.idのuser_bank_details。*から、user_address、user_kyc_details、user_nominee、user_bank_details –

答えて

0

をいただければ幸いあなたはコマンド

で直接行う
$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();