Yii에서 하위 쿼리를 사용하는 방법
첫 번째 단계는 yiidbQuery 또는 모델을 기반으로 할 수 있는 하위 쿼리를 만드는 것입니다.
$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 중국어 웹사이트에는 무료 Yii 입문 튜토리얼이 많이 있습니다. 누구나 배울 수 있습니다!
위 내용은 yii2 프레임워크에서 하위 쿼리를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!