亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以通過關系在單個查詢中獲取所有需要的數據嗎?

我可以通過關系在單個查詢中獲取所有需要的數據嗎?

PHP
呼喚遠方 2021-12-03 15:32:04
我正在嘗試優化我的 SQL 查詢。我實際上使用 yii2 框架來操作數據。我可以在 MySQL 控制臺中使用關系查詢所需的數據,查詢將如下所示:SELECT * FROM user u LEFT JOIN relation_user_shop rus ON rus.userId = u.id LEFT JOIN shop s ON s.id = rus.shopId ORDER BY u.id LIMIT 20它向我查詢我需要的正確數據,但它僅適用于 mysql。當我嘗試將數據返回到 yii2 時,我也得到了混合 id(相關表的主鍵:用戶、商店)和其他數據混合。我知道,我可以在 3 次,一個接一個:1. get user2. select shop ids in junction table3. query data from shop, and concate with user object可以在 ONE 查詢中完成嗎?
查看完整描述

1 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

如果你需要在查詢了嚴格的控制研究與表之間equale時獲得所有你需要不同的列名alais管理列

一個簡單的(和性能方法)是DB-> createCommand基地


queryAll() 返回一個包含所有選定行的數組 ob 對象


$q =    'SELECT u.col1

  , u.col2

  , u.col3

  , rus.col1 as rus_col1

  , rus.col2 as rus_col2

  , s.col1 as s_col1

  , s.col2 as s_col2 

  FROM user u

  LEFT JOIN relation_user_shop rus ON rus.userId = u.id

  LEFT JOIN shop s ON s.id = ;';


$models =   Yii::$app->db->createCommand( $q )->queryAll(); 


查看完整回答
反對 回復 2021-12-03
  • 1 回答
  • 0 關注
  • 200 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號