2016-06-13 4 views
0

So ändern Sie die folgende sql Abfrage zu yii2.So ändern Sie SQL-Abfragen zu yii2

SELECT 
    a.id, a.name_of_flight, a.time_of_flight, (no_of_passenger-b.cnt) as avail 
FROM 
    flight_schedule a 
LEFT JOIN 
    (SELECT flight_time, COUNT(id) AS cnt FROM book_eticket WHERE flight_date='2016-06-01' GROUP BY flight_time) b 
ON a.id = b.flight_time 
+0

Erklären Sie besser Ihre Frage zeigt schließlich den Rest des Codes ... diese Frage ist nicht klar – scaisEdge

+0

NUtZeN Joinwith Konzept –

Antwort

0

Ich bin mir nicht sicher, aber Sie können diese Logik verwenden. Für weitere Informationen besuchen Sie bitte official Seite.

flight_schedule::find() 
    ->select(['id', 'name_of_flight', ' time_of_flight']) 
    ->distinct() 
    ->joinWith('bookEticket') 
    ->all(); 

Und füge Beziehung Modell flight_schedule:

public function getBookEticket() 
{ 
    $this->hasOne(book_eticket::className(), ['id' => 'flight_time']); 
} 
+0

http: // Stackoverflow. com/fragen/24389765/how-to-count-und-gruppe-by-in-yii2 –