Heim >PHP-Framework >YII >So schreiben Sie eine Unterabfrage im yii2-Framework

So schreiben Sie eine Unterabfrage im yii2-Framework

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-12-09 13:52:305185Durchsuche

So schreiben Sie eine Unterabfrage im yii2-Framework

So verwenden Sie eine Unterabfrage in yii

Der erste Schritt besteht darin, eine Unterabfrage zu erstellen, die basierend auf erstellt werden kann auf yiidbQuery oder basierend auf Model.

$subQuery = Order::find()
->where(['user_id' => $userId])
->andWhere(['status' => $status]);

kann auch Sortierung und Paging hinzufügen, zum Beispiel:

$subQuery->orderBy(['id' => SORT_ASC])
->offset($offset)
->limit($pageSize);

Dann können wir diese Unterabfrage in unserer Hauptabfrage verwenden, solange es sich um einen Ort handelt, an dem Unterabfragen in MySQL geschrieben werden können. Sie können diese Unterabfrage direkt verwenden.

$list = (new Query())->select($field)
->from(['order' => $subQuery]) // 在这里使用了子查询
->leftJoin(['goods' => OrderGoods::tableName()], 'order.id = goods.order_id')
->createCommand()
->queryAll();

Die endgültige generierte Aussage

SELECT
*
FROM
( SELECT
* 
FROM
`od_order` 
WHERE
( `user_id` = '1' ) 
ORDER BY
`id` ASC
LIMIT 10 OFFSET 1 
) `order`
LEFT JOIN `od_order_goods` `goods` ON `order`.id = goods.order_id

Die chinesische PHP-Website bietet eine große Anzahl kostenloser Yii-Einführungs-Tutorials, die jeder gerne lernen kann!

Das obige ist der detaillierte Inhalt vonSo schreiben Sie eine Unterabfrage im yii2-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen