Yii でサブクエリを使用する方法
最初のステップは、サブクエリを作成することです。 yii\db\Query またはモデルに基づいて。
$subQuery = Order::find() ->where(['user_id' => $userId]) ->andWhere(['status' => $status]);
ソートとページングを追加することもできます。例:
$subQuery->orderBy(['id' => SORT_ASC]) ->offset($offset) ->limit($pageSize);
これで、mysql でサブクエリを記述できる場所である限り、このサブクエリをメイン クエリで使用できます。 、このサブクエリを直接使用できます。
$list = (new Query())->select($field) ->from(['order' => $subQuery]) // 在这里使用了子查询 ->leftJoin(['goods' => OrderGoods::tableName()], 'order.id = goods.order_id') ->createCommand() ->queryAll();
最終的に生成されたステートメント
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
PHP 中国語 Web サイトには、無料の Yii 入門チュートリアル が多数あり、誰でも学習することができます。
以上がyii2 フレームワークでサブクエリを記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。