2017-06-19 17 views
0

グリッドビューを使用して、複数のテーブルのデータを表示する必要があります。 したがって、グリッド行のグループはテーブル1から来てもよく、テーブル2からの別のグループのグループ...複数のテーブルのYii2グリッドデータ(複数のテーブルのレコードを選択)

例えば、 tbl2、行(r11からr20と仮定)r1からr10とr11からr20は、異なるテーブルから共通のidを多く持つことがあります。そして、これらのレコードをすべて1つのグリッドビューに表示し、検索とアクションを有効にしたいと思います。

arrayDataProviderでデータを取得しようとしましたが、完璧に機能しました。 私が修正しようとしている問題は2つです: 1.グリッドでsearchModelを有効にします。 (そのためには、arrayDataProviderの検索モデル内のすべてのデータも取得しましたが、検索を有効にする必要があります)。 2.(ビュー、更新、または削除)に選択されたレコードを知り、その選択に基づいてアクションを実行する必要があります。同じIDが複数のグリッドに複数存在する可能性があります。

+0

もしあなたが質問を更新し、適切なサンプルを追加する必要があります。(ご質問は私には分かりません) – scaisEdge

+0

ありがとうコメントするためのu。編集されました、それは今はっきりしていますか? –

答えて

0

検索を有効にするには 1.すべての検索モデルを使用して、フィルタリングクエリに基づいて配列を返しました。 2.すべてのテーブル間に共通の属性を含む基本検索モデルを使用しました。他の検索モデルの関数を呼び出して配列を取得し、これらの配列を連結して配列データプロバイダとして返します。 3.検索モデルのパラメータを扱う際には、基本と同じモデルを使用しているため、より多くのフィールドがあるため、注意が必要です。

私が行にidとacyionsを扱うとき、私はメソッドを投稿します。 同じ問題を抱えていて助けが必要な場合は、