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!