您好,登錄后才能下訂單哦!
這篇文章主要介紹yii2框架如何寫子查詢,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在yii中使用子查詢的方法
第一步,先創建一個子查詢,可以是基于 yii\db\Query 創建,也可以基于Model。
$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
以上是“yii2框架如何寫子查詢”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。