2016-08-13 1 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 

wie Sie dies direkt in $ query-> createCommand() ausführen; Als Parameter habe ich es versucht, aber es funktioniert nichtYii Join Abfrageergebnis nicht wie erwartet

Die obige Abfrage funktioniert gut und gibt das erwartete Ergebnis, aber wenn ich benutze mit Yii wie unten angegebenen verbinden gibt es mir seltsame Ergebnisse (dh nicht auf geeignete ID und user_id beitreten))

$ 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(); 

Jede Hilfe wäre

+0

ausgewählte Benutzer. *, User_address. *, User_kyc_details. *, User_nominee. * Direkt zu tun haben zu erkennen ist, user_bank_details. * von Benutzern, user_address, user_kyc_details, user_nominee, user_bank_details wobei user_address.user_id = users.id und user_kyc_details.user_id = users.id und user_nominee.user_id = users.id und user_bank_details.user_id = users.id –

Antwort

0

Wenn Sie alreade die Abfrage, die Sie in Befehl

$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(); 
Verwandte Themen