2017-06-19 45 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时,我会发布该方法。 如果任何人有同样的问题,并需要帮助,我会:-)

相关问题