Wie Sie das erreichen, muliple left join in yii2?
Ich habe 3 Tabellen mit Namen, Lager -, Produkt -, Benutzer. Ich habe eine joinning Abfrage, wie unten dargestellt. Kann jemand bitte sagen Sie mir, wie es zu implementieren, in yii2?
SELECT
stock.sale_price_per_unit,
sum(stock.quantity),
product.product_name,
users.username
FROM
stock
LEFT JOIN product ON product.product_id=stock.product_id
LEFT JOIN users ON users.user_id=stock.seller_id
WHERE stock.product_id=3
GROUP BY stock.seller_id
- Es ist einfach zu tun, beitreten, nachdem Sie Yii-Beziehungen im Modell, können Sie auf diese Weise kommen alle Nummer der Tabellenzeile mit mit - Eigenschaft
- Ein Beispiel mit einem 'left join' in der framework yii2 ist hier: /yiiframework2/select-Abfrage-joins/#leftJoin. Ich habe es gerade gefunden - hoffe es hilft.
- $dataProvider = \Yii::$app->db->createCommand(" SELECT Bestand.sale_price_per_unit, sum(Lagerbestand.Menge), Produkt.product_name Benutzer.Benutzername AUS dem Lager der LINKEN JOIN-Produkt-AUF-Produkt.product_id=Lager.product_id LEFT JOIN-Benutzer AUF Benutzer.user_id=Lager.seller_id, WO stock.product_id=:id GROUP BY Lager.seller_id") ->bindValue(':id', 3) ->queryAll();
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bezieht sich auf http://www.yiiframework.com/doc-2.0/guide-active-record.html#joining-with-relations und http://www.yiiframework.com/forum/index.php/topic/50423-joins-are-back/:
sodass Ihr code sollte wie folgt Aussehen:
denen Relationen "Produkt" und "Nutzer" erklärt, in Lager-Modell:
HAS_MANY:
HAS_ONE
Hier ist der vollständige code Für Verknüpfungen Im Modell Geography.php hier habe ich das Modell Geographie und ich Binde die drei Tabellen in der Geographie-Tabelle in yii2