回答
如果您使用Gii爲每個表創建模型類,並選擇該模型類以在生成的模型中創建關係,則可以執行以下操作。
1)在你的國家的模型只是改變聲明與機場類似這樣的關係的方法:當你做對國家的查詢)
public function getAirports() {
return $this->hasMany(Airports::className(), ['country_id' => 'id'])->with('airlines');
}
2,你需要有相關的機場,航空公司和flightbooked像這樣做:
$countries = Countries::find()
->where('something = something_else')
->with('airports')
->with('flightbooked')
->all();
這樣你會得到所有的方式較少查詢填充到數據庫比使用延遲加載相關的模型。
也許ü可以使用UNION ALL這一點。使用此運算符,可以將來自多個查詢的結果集連接在一起,保留每個查詢的所有行。請注意,UNION運算符(不帶ALL關鍵字)將消除結果集中存在的任何「重複」行。 UNION ALL操作符保留每個查詢中的所有行(並且由於它沒有執行重複檢查和刪除操作的開銷,所以可能會執行得更好)。
每個查詢中每列的列數和數據類型必須匹配。如果其中一個查詢的列數多於另一個,我們有時在其他查詢中包含虛擬表達式以使列和數據類型「匹配」。通常,在返回文字的每個查詢的SELECT列表中包含一個表達式(額外的列)會很有幫助,以顯示哪些查詢是該行的「源」。
SELECT 'col1' AS source, col23, col343, col33, d FROM table1 WHERE ...
UNION ALL
SELECT 'col2', t2.fee, table2.fi, table2.fo, 'fum' FROM table2 JOIN table3 ON ...
UNION ALL
SELECT 'col3', '1', '2', buckle, my_shoe FROM table4
可以在一組括號包裹查詢這個樣子,並把它作爲內嵌視圖(或「派生表」,在MySQL行話),這樣就可以對所有的執行聚合操作行。例如:
select one.a
, SUM(one.b)
FROM (
SELECT 'q1' AS source, a, b, c, d FROM t1
UNION ALL
SELECT 'q2', t2.fee, t2.fi, t2.fo, 'fum' FROM t2
) one
GROUP BY one.a
ORDER BY one.a
但我認爲加入表格更合適。希望幫助您
是的,我認爲加入更好! – mohsen
我只是想給一個小小的建議:
當你正在維護表中的關係,如果你有使用GII生成的代碼,然後將生成的加入爲您服務。然後您可以輕鬆訪問任何表格的任何列。我想UNION
可能不是JOIN
的替代方案。
- 1. 呼叫其他表格在Yii2高級版中索引
- 2. 如何引用其他表
- 3. 如何在excel中引用其他表格?
- 4. 引導格在yii2
- 5. 在其他表格中獲取其他表格的計數
- 6. yii2 pjax其他pjax
- 7. 如何存儲一次記錄並在其他表格中多次引用它?
- 8. 如何從其他表插入表格
- 9. 約束,引用其他表
- 10. 如何創建引用QlikView中其他表的「inline」表?
- 11. web2py如何創建列表:db.py中其他表的引用
- 12. 如何從其他單元格引用單元格
- 13. Yii2插入多個記錄到其他表格
- 14. 如何在Yii2寧靜控制器中執行其他任務?
- 15. 其他表中的引導表|修正表格的高度
- 16. 如何引用Oracle中的同一表中的其他行
- 17. 引用其他工作表中的單元格。 DYNAMIC/VARIABLE
- 18. 如果在其他表中存在引用,則設置標誌
- 19. Yii2 REST其他動作
- 20. 如何按其他表格訂購?
- 21. 從其他表格中插入其他表格並使用固定值
- 22. 如何在其他表中引用的表上應用truncate命令?
- 23. 在其他表格中獲取數量
- 24. Excel:如何在其他單元格中使用條件格式?
- 25. 如何在Excel vba中引用表格?
- 26. yii2在main.php佈局中創建表格如何使用$ model
- 27. 如何在yii2中選擇表格用戶?
- 28. 從單元格中獲取字符串並引用其他表格使用它
- 29. SQL - 如何在引用其他表時從一個表中刪除?
- 30. 如何在Ecto中將其他表格分組並排序?
你爲什麼不**想要使用連接? – Sjon
其possilbe沒有加入?懶加載或東西! – mohsen
我認爲加入也更好。你能告訴我們更多關於你如何想要你的輸出嗎? –