2017-06-19 95 views
0

我有一個網格視圖,我需要顯示多於一個表的數據,每個記錄在一行(不關係)。 因此,一組網格的行可以來自表中的一個,另一組從表2,ECT行...Yii2來自多個表的網格數據(選擇多個表的記錄)

例如,我需要從TBL1行選擇(假設R1至R10),並從表tbl2,行(假設r11到r20)r1到r10和r11到r20可能有很多通用的id(因爲來自不同的表)。我想在單個網格視圖中顯示所有這些記錄,並啓用搜索和操作。

我已經嘗試在arrayDataProvider中獲取數據,並且它工作得很完美。 我試圖解決的問題有兩個: 1.在網格中啓用searchModel。 (爲此,我還獲得了arrayDataProvider中搜索模型中的所有數據,但仍需要啓用搜索)。 2.我需要知道選擇哪個記錄(查看,更新或刪除)並根據選擇採取行動,因爲網格中可能存在多次相同的ID,每次都來自表格。

+0

如果你可以..你應該更新你的問題,並添加一個適當的樣本..(你的問題不清楚給我) – scaisEdge

+0

謝謝你發表評論。編輯,現在清楚了嗎? –

回答

0

啓用搜索: 1.我已經使用所有搜索模型來基於過濾查詢返回數組。 2.我已經使用了一個基本的搜索模型,它包含所有表之間的公共屬性,它調用其他搜索模型的函數以從它們中獲取數組,然後將所有這些數組連接起來並將它們作爲數組數據提供者返回。 3.處理搜索模型中的參數時需要注意,因爲它們使用與基本相同的模型,它們有更多的字段。

當我在行上處理id和acyions時,我會發布該方法。 如果任何人有同樣的問題,並需要幫助,我會:-)