$userId]),andWhere(['status' => $status]);"。"/> $userId]),andWhere(['status' => $status]);"。">

Maison  >  Article  >  cadre php  >  Comment écrire une sous-requête dans le framework yii2

Comment écrire une sous-requête dans le framework yii2

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-12-09 13:52:305037parcourir

Comment écrire une sous-requête dans le framework yii2

Comment utiliser la sous-requête dans yii

La première étape consiste à créer une sous-requête, qui peut être créée en fonction sur yiidbQuery ou basé sur Model.

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

peut également ajouter du tri et de la pagination, par exemple :

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

Ensuite, nous pouvons utiliser cette sous-requête dans notre requête principale, à condition que ce soit un endroit où les sous-requêtes peuvent être écrites dans MySQL , vous pouvez utiliser cette sous-requête directement.

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

La déclaration finale générée

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

Le site Web chinois PHP propose un grand nombre de tutoriels d'introduction Yii gratuits, tout le monde est invité à apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn